在JavaScript中,为什么isNaN(值)与value == NaN不同?

时间:2014-02-21 11:46:26

标签: javascript nan

正如问题中所说,我尝试了value == NaN这是错误的,然后记得我应该使用isNaN(value)来检查这个。

为什么会有差异?

2 个答案:

答案 0 :(得分:4)

both NaN == NaN and NaN === NaN evaluate to false来自MDN

NaN是一个特殊值,您可以将其视为InfinityInfinity不等于另一个Infinity,因为它有 NO DEFINED VALUE

答案 1 :(得分:3)

我不能比MDN更好......

  

与JavaScript中的所有其他可能值不同,不可能依赖等于运算符(=====)来确定值是否为NaN,因为两者都是NaN == NaNNaN === NaN评估为false。因此,isNaN函数的必要性。