我是靠谱客的博主 魔幻大山,最近开发中收集的这篇文章主要介绍isNaN和Number.isNaN的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、isNaN()

isNaN() 函数用于检查其参数是否是非数字值。

如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

console.log(isNaN(null));            //false
console.log(isNaN(true));            //false
console.log(isNaN(false));           //false
console.log(isNaN(1));               //false
console.log(isNaN(undefined));       //true
console.log(isNaN("abc"));           //true
console.log(isNaN({}));              //true
console.log(isNaN(NaN));             //true

2、Number.isNaN()

Number.isNaN() 是 ECMAScript6 (ES6) 新特性。

Number.isNaN() 方法用于判断传递的值是否为 NaN,并且检查其类型是否为 Number。

如果值为 NaN 且类型为 Number,则返回 true,否则返回 false。

console.log(Number.isNaN(null));      //false
console.log(Number.isNaN(true));      //false
console.log(Number.isNaN(false));     //false
console.log(Number.isNaN(1));         //false
console.log(Number.isNaN(undefined)); //false
console.log(Number.isNaN("abc"));     //false
console.log(Number.isNaN({}));        //false
console.log(Number.isNaN(NaN));       //true

在 JavaScript 中,我们不能使用相等运算符 == 和 === 来判断一个值是否是 NaN,因为 NaN == NaN 和 NaN === NaN 都会返回 false。因此,必须要有一个判断值是否是 NaN 的方法。 和全局函数 isNaN() 相比,Number.isNaN() 不会自行将参数转换成数字,只有在参数是值为 NaN 的数字时,才会返回 true。

最后

以上就是魔幻大山为你收集整理的isNaN和Number.isNaN的区别的全部内容,希望文章能够帮你解决isNaN和Number.isNaN的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部