我碰巧偶然发现了一个代码,它检查typeof
传递给它的变量的 ,就像这样。
function myNaN(b){
if(typeof(b) == 'number'){
// execute some code
}
}
每当我调用此函数时,它都可以正常工作,并且如果传递了数字,则通过 if 条件。
但是,当我将 a NaN
(它是某个其他函数的输出)传递给该函数时,if
条件返回 true。
我的问题是正确的typeof(NaN) == 'number'
吗?如果是这样,为什么?不是很混乱吗?
只需尝试console.log(typeof(NaN));
在浏览器控制台中运行即可了解我的意思。