JS 中的这段代码给了我一个弹出窗口,说“我认为 null 是一个数字”,我发现这有点令人不安。我错过了什么?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
我用的是火狐3,是浏览器漏洞吗?
其他测试:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
那么,问题似乎不是与 NaN 的精确比较?
编辑: 现在这个问题已经得到了回答,我已经清理了我的文章,以便为档案馆提供一个更好的版本。然而,这使得一些评论,甚至一些答案有点难以理解。不要责怪他们的作者。我改变的事情包括: