为了账号安全,请及时绑定邮箱和手机立即绑定

NaN是属于什么类型?

NaN是属于什么类型?

正在回答

9 回答

NaN是number类型

typeof NaN // 'number'

NaN意思是Not A Number(不是数字), 它不是JavaScript仅有的,而是IEEE754标准规定的双精度浮点小数类型的特殊值。

Java的double与JavaScript的number是一样的,也有not a number.


需要注意NaN和任何值比较都不相等。

NaN == NaN // false
NaN === NaN // false


5 回复 有任何疑惑可以回复我~

那么,什么时候会遇到NaN这样的number值呢?

比如无效的计算:

1 / 'a' // NaN
parseInt('abc'); // NaN

一般无效的计算结果会是NaN。


那么,既然不能用==来判断,如何判断一个值是不是NaN呢?

isNaN(NaN); // true
isNaN(1); // false

方法就是调用上面的全局函数isNaN来判断。


number类型的特殊值不只有NaN,还有Infinity(无限大).

1 / 0 // Infinity


8 回复 有任何疑惑可以回复我~

讲的很好。赞!

0 回复 有任何疑惑可以回复我~
isNaN("1"); //false

引号内的不是字符串吗?为什么字符串会返回false呢?

0 回复 有任何疑惑可以回复我~
#1

Kavin_Chen1981

isNaN()方法是判断传入值是不是NaN,只要不是NaN都是false
2017-05-05 回复 有任何疑惑可以回复我~

isNaN("1"); //false

引号内的不是字符串吗?为什么字符串会返回false呢?

0 回复 有任何疑惑可以回复我~

老师太有耐心了。。。哈哈,谢谢老师。

0 回复 有任何疑惑可以回复我~

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281120    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

NaN是属于什么类型?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信