概述
NaN是什么?
NaN:Not A Number即代表不是一个数字
NaN是一个Number类型的数值,只不过无法用真实的数据去表示
存在的意义:
0 / 0;// NaN
特点:
- NaN与任何数值/任何类型的操作结果:NaN
NaN + 0;//NaN NaN + NaN;//NaN NaN + undefined;//NaN
- NaN与任何值作比较都是不相等的(包括NaN本身)
NaN === 0;// false NaN === undefined;// false NaN === NaN;// false
如何判断是不是NaN?
-
ES5: isNaN()
确定一个变量是不是NaN
如果我们传递的不是一个Number类型的参数:
isNaN({});// true isNaN('d');// true
为什么是true不是false?
NaN所产生的条件:
- 参与运算时:运算结果无法用一个正常的数字表示 => NaN
例如:0 / 0;// NaN 1 / 0;// Infinity(无限大)
- 强制类型转换时:某些类型的数值不能转换成数字类型(转换失败)
1 - 'a';// NaN
- 参与运算时:运算结果无法用一个正常的数字表示 => NaN
-
ES6: Number.isNaN()[新增]
传入的值是否是NaN: 是 => true; 否 => false
注意:不会进行类型转换,只是值的判断
除了NaN返回true,其他均返回false
Number.isNaN(NaN);// true Number.isNaN(1);// false Number.isNaN(0);// false Number.isNaN({});// false
最后
以上就是舒服钥匙为你收集整理的如何判断是不是NaN?isNaN()和Number.isNaN()的全部内容,希望文章能够帮你解决如何判断是不是NaN?isNaN()和Number.isNaN()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复