我碰巧偶然发现了一个代码,它检查传递给它的varable的typeof
就像这样。
function myNaN(b){
if(typeof(b) == 'number'){
// execute some code
}
}
每当我调用此函数时,它都能正常工作,如果传递了数字则传递if条件。
但是,当我将NaN
(这是其他函数的输出)传递给此函数时,if
条件返回true。
我的问题是typeof(NaN) == 'number'
是正确的吗?如果是这样,为什么?这不是很困惑吗?
尝试在浏览器控制台中运行console.log(typeof(NaN));
,看看我的意思。
答案 0 :(得分:3)
是的,typeof(NaN)
是数字。您可以使用函数NaN
专门检查值是isNaN
。
答案 1 :(得分:1)
为什么不使用:“isNan(”1234“)”函数? 如果有帮助,可以使用以下链接:http://www.w3schools.com/jsref/jsref_isnan.asp