有没有办法让(a === b&& a!== b)评价为真?
认为答案是否定的,但我觉得这可能是一个伎俩。
答案 0 :(得分:0)
选中此选项,仅适用于==
,不适用于===
。
var a = {
x: 1,
toString: function () {
return this.x++;
}
}
var b = 1;
console.log('Result', (a == b && a != b));
// Another option
var j = {
x: 1,
valueOf: function () {
return this.x++;
}
}
var k = 1;
console.log('Result', (j == k && j != k));
答案 1 :(得分:0)
事实证明,它可以评估为true,但仅限于您使用
with({
get a() {
return Math.floor(Math.random()*2);
},
get b() {
return Math.floor(Math.random()*2);
}
}){
// 25% change of logging true
console.log(a===b && a!==b);
}