js中isNaN和Number.isNaN的区别

更新日期: 2019-06-08阅读: 3.3k标签: NaN

isNaN

判断传入的参数是否能转换成数字,并不是严格的判断是否等于NaN。

例子:

console.log(parseInt(‘12测试‘)) //12

字符串是以数字开头的,parseInt方法会自动过滤掉后面的字符。

所以下面这段代码输出true,因为字符串是有可能转换成数字的(在第一个例子中已证明)

console.log(isNaN(‘测试‘)) //true

 

Number.isNaN

判断传入的参数是否严格的等于NaN(也就是 ===)。

那一般在什么情况下会用到Number.isNaN呢?

当两个变量进行运算时,我们可以使用Number.isNaN来判断它的值是否为NaN

console.log(Number.isNaN(1/2)) //输出false
console.log(Number.isNaN(‘测试‘)) //输出false
console.log(Number.isNaN(2/‘测试‘)) //true
第一行代码:1/2的结果是Number类型的,所以它不等于NaN
第二行代码:字符串不等于NaN
第三行代码:2除以"测试"是不能运算的,它的值为NaN 


链接: https://www.fly63.com/article/detial/3597

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!