SOURCE

// 方法一
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('方法二成了')
}
console 命令行工具 X clear

                    
>
console