【发布时间】:2013-11-26 04:18:08
【问题描述】:
为什么NaN === NaN 在 Javascript 中返回 false?
> undefined === undefined
true
> NaN === NaN
false
> a = NaN
NaN
> a === a
false
在documentation page 我看到了这个:
针对 NaN 进行测试
等式运算符(
==和===)不能用于针对NaN测试值。请改用isNaN。
是否有任何参考资料可以回答这个问题?会很受欢迎的。
【问题讨论】:
-
因为 Not a Number 不是数字,也不等于任何东西,包括 Not a Number。
-
@Joren - 这不是 JS 特定的。
-
看看这个精彩的视频 ;-) destroyallsoftware.com/talks/wat
-
NaN 是唯一的数字是 NaN :-) 要检查某物是否为 NaN,请测试
isNaN(value) && typeof value=='number'
标签: javascript nan