js中isNaN和Number.isNaN的区别
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(‘测试‘)) //输出falseconsole.log(Number.isNaN(2/‘测试‘)) //true第一行代码:1/2的结果是Number类型的,所以它不等于NaN
第二行代码:字符串不等于NaN
第三行代码:2除以"测试"是不能运算的,它的值为NaN
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!