最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 非运算符加.isNaN(函数)能否只过滤数字?

    介绍

    JavaScript 是一种动态类型语言,这意味着解释器在运行时确定变量类型。这允许我们将不同类型的数据存储在同一个变量中。但是如果没有文档和一致性,我们很有可能在使用代码时不知道变量是什么类型。

    当我们打算对数字进行操作时,如果我们对字符串或数组进行操作,可能会导致奇怪的结果。在本文中,我们将了解可以帮助我们确定所使用的变量是否为数字的各种函数。

    不应处理诸如“100”之类的类似字符串的数字,并且在 JavaScript 中像 NaN、Infinity 和 -Infinity 这样的特殊值都是数字,但我们将忽略它们。

    基于这些需求js判断是否是英语数字,最好使用 Number 对象内置的 isFinite() 函数。但有时我们也使用其他函数,如 Number.isNaN() 和 typeof() 等。

    首先创建一些测试变量:

    1. let intVar = 2
    2. let floatVar = 10.5; 
    3. let stringVar = '4'
    4. let nanVar = NaN
    5. let infinityVar = Infinity
    6. let nullnullVar = null; 
    7. let undefinedundefinedVar = undefined; 

    使用 Number.isFinite() 函数

    Number.isFinite() 被函数用来检查一个变量是否是一个数字,但它也被用来检查它是否是一些特殊的值。遇到 NaN、Infinity 或 -Infinity 时返回 false。

    对上面定义的变量进行下一次测试:

    1. > Number.isFinite(intVar); 
    2. true 
    3. > Number.isFinite(floatVar); 
    4. true 
    5. > Number.isFinite(stringVar); 
    6. false 
    7. > Number.isFinite(nanVar); 
    8. false 
    9. > Number.isFinite(infinityVar); 
    10. false 
    11. > Number.isFinite(nullVar); 
    12. false 
    13. > Number.isFinite(undefined); 
    14. false 

    结果令人满意。特殊数值和所有非数值变量都被忽略。如果要检查变量是否为数字,Number.isFinite() 函数是最佳选择。

    使用 Number.isNaN() 函数

    标准 Number 对象有一个 isNaN() 方法。用于判断传入的参数值是否为NaN。由于我们要检查变量是否为数字,我们需要使用 NOT 运算符!在检查。

    现在看看我们是否可以通过添加 Not 运算符和 Number.isNaN() 函数来仅过滤数字:

    这种方法相当宽松js判断是否是英语数字,因为它接受的值根本不是数字。当您知道您的值是一个数字并且想要检查它是否是一个 NaN 值而不是常规数字时,此方法最有效。

    使用 typeof() 函数

    typeof() 函数是一个全局函数,其参数可以接受变量或值,并返回其类型的字符串表示形式。JavaScript 有 9 种类型:

    要验证变量是否为数字,我们只需要检查 typeof() 返回的值是否为“数字”。让我们尝试一个测试变量:

    1. > typeof(intVar) == 'number'; 
    2. true 
    3. > typeof(floatVar) == 'number'; 
    4. true 
    5. > typeof(stringVar) == 'number'; 
    6. false 
    7. > typeof(nanVar) == 'number'; 
    8. true # 判断错误 
    9. > typeof(infinityVar) == 'number'; 
    10. true # 判断错误 
    11. > typeof(nullVar) == 'number'; 
    12. false 
    13. > typeof(undefined) == 'number'; 
    14. false 

    typeof() 函数比 Number.isNaN() 好得多。它可以正确判断 null 和 undefined 不是数字。但如果是 NaN 和 Infinity,它将返回 true。

    虽然这在技术上是正确的,但 NaN 和 Infinity 是我们在大多数情况下忽略的特殊数值。

    总结

    本文研究如何检查 JavaScript 中的变量是否为数字。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 非运算符加.isNaN(函数)能否只过滤数字?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论