var a = ?;
console.log(
a == 1 &&
a == 2 &&
a == 3
)
考点:== 运算符的运算规则,类型转换的规则
var obj = {};
console.log(obj.valueOf()) //{} 非原始类型
console.log(obj.toString()) //'[object Object]'
所以
obj == 1 //false
obj == '[object Object]' // true
var obj = {
valueOf: function() {
return 1
}
};
obj == 1 //true
所以正解为
a = {
n: 1,
valueOf: function(){
return this.n++
}
}
变题: console.log(a == 1 &&a == 2 &&a == 4)
a = {
n: [1,2,4],
i:0,
valueOf: function(){
return this.n[this.i++]
}
}