3

我碰巧偶然发现了一个代码,它检查typeof传递给它的变量的 ,就像这样。

function myNaN(b){

  if(typeof(b) == 'number'){
    // execute some code
  }

}

每当我调用此函数时,它都可以正常工作,并且如果传递了数字,则通过 if 条件。

但是,当我将 a NaN(它是某个其他函数的输出)传递给该函数时,if条件返回 true。

我的问题是正确的typeof(NaN) == 'number'吗?如果是这样,为什么?不是很混乱吗?

只需尝试console.log(typeof(NaN));在浏览器控制台中运行即可了解我的意思。

4

2 回答 2

3

是的,typeof(NaN)是数字。您可以检查该值是否NaN专门使用该函数isNaN

于 2013-11-06T14:52:40.637 回答
1

你为什么不使用:"isNan("1234")" 函数?如果有帮助,这里有一些链接:http: //www.w3schools.com/jsref/jsref_isnan.asp

于 2013-11-06T14:53:20.967 回答