// 方法一
let a = {
i: 0,
toString() {
return ++this.i
},
// 对象转数字,先转换为字符串(先调用valueOf,再调用toString()),再转为数字
// 所以,改造valueOf方法也可以
// valueOf() {
// return ++this.i
// }
}
if(a == 1 && a == 2 && a == 3) {
console.log('方法一成了')
}
// 以下不成立
if(a === 1 && a === 2 && a === 3) {
console.log('全等比较的是对象a和数字,肯定是不等的')
}
// 方法二
let k = 0;
Object.defineProperty(window, 'b', {
get() {
return ++k
}
})
if(b === 1 && b === 2 && b === 3) {
console.log('方法二成了')
}