Javascript 是否存在(c==c)为false的情况?
前几天我看到了这个谜语: 具有以下JavaScript代码:Javascript 是否存在(c==c)为false的情况?,javascript,Javascript,前几天我看到了这个谜语: 具有以下JavaScript代码: var c; // YOU CAN NOT CHANGE THE FOLLOWING CODE if (c===c) { alert ("YOU LOSE!"); } else { alert ("YOU WIN!"); } 通过只更改c值(在if语句之前),您必须使代码显示“YouWin!”消息 那真的有可能吗?是的,有可能 var c = NaN; NaN不等于它本身 console.log(NaN ===
var c;
// YOU CAN NOT CHANGE THE FOLLOWING CODE
if (c===c) {
alert ("YOU LOSE!");
}
else {
alert ("YOU WIN!");
}
通过只更改c值(在if语句之前),您必须使代码显示“YouWin!”消息
那真的有可能吗?是的,有可能
var c = NaN;
NaN
不等于它本身
console.log(NaN === NaN);
输出
false
引述
等式运算符(==和===)不能用于根据
楠。请改用Number.isNaN()或isNaN()
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true