1

我有几个文本框,Number如果文本框中有有效数据,则返回 javascript 值,否则返回NaN. 我得到了这种奇怪的行为。当我签firebug入时(两个文本框都是空白的):

>>> hours
NaN
>>> minutes
NaN
>>> minutes == NaN
false
>>> hours == NaN
false
>>> hours == minutes
false

为什么会这样?

4

1 回答 1

3

NaN不等于任何东西,甚至不等于NaN

参考 MDN

更详细的SO问答

有关权威来源,请参阅ECMAScript 5 官方规范,第11.9.111.9.3节:

1. If Type(x) is the same as Type(y), then
     [...]
  c. If Type(x) is Number, then
     i. If x is NaN, return false.
    ii. If y is NaN, return false.
        [...]
于 2012-04-10T07:20:17.883 回答