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