如何使a==1&&a==2&&a==3结果为true

在js中,所有程序都是单线程运行的,即便写在一行,也是从左到右运行。因此为了使该条件成立,可以在读取a的值的同时,让a自增1。在该问题中使用valueOf()方法,这是js的内置方法,当js调用某个值时,会使用该方法。因此重写该方法时,既可以实现该问题。

1
2
3
4
5
6
7
let a = {
value: 1,
valueOf: function(){
return this.value++;
}
}
console.log(a==1&&a==2&&a==3)