什么是Javascript中的typeof(NaN)?

时间:2013-11-06 14:50:00

标签: javascript

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

function myNaN(b){

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

}

每当我调用此函数时,它都能正常工作,如果传递了数字则传递if条件。

但是,当我将NaN(这是其他函数的输出)传递给此函数时,if条件返回true。

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

尝试在浏览器控制台中运行console.log(typeof(NaN));,看看我的意思。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

为什么不使用:“isNan(”1234“)”函数? 如果有帮助,可以使用以下链接:http://www.w3schools.com/jsref/jsref_isnan.asp