【问题标题】:Javascript variable / 'NaN' behaving weirdlyJavascript变量/'NaN'行为怪异
【发布时间】:2012-04-22 11:01:27
【问题描述】:

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

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

为什么会这样?

【问题讨论】:

    标签: javascript nan


    【解决方案1】:

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

    Reference at MDN

    More detailed SO question and answer

    有关权威来源,请参阅ECMAScript 5 Official Specification11.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.
            [...]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      • 2019-12-14
      • 1970-01-01
      • 2016-09-28
      相关资源
      最近更新 更多