前几天我看到这个谜语:
拥有以下JavaScript代码:
var c;
// YOU CAN NOT CHANGE THE FOLLOWING CODE
if (c===c) {
alert ("YOU LOSE!");
}
else {
alert ("YOU WIN!");
}
通过仅更改c值(在if语句之前),您必须使代码显示“YOU WIN!”消息。
这真的有可能吗?
答案 0 :(得分:4)
NaN
不等于自己。
console.log(NaN === NaN);
<强>输出强>
false
引用
等式运算符(==和===)不能用于测试值 NaN的。使用Number.isNaN()或isNaN()代替。
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
答案 1 :(得分:3)
是的,这是可能的。
var c = NaN;