这个怎么运作?请问一般怎么改?
const a = {
i: 1,
toString: function () {
return a.i++;
}
}
if(a == 1 && a == 2 && a == 3) {
console.log('Hello World!');
}
这个怎么运作?请问一般怎么改?
const a = {
i: 1,
toString: function () {
return a.i++;
}
}
if(a == 1 && a == 2 && a == 3) {
console.log('Hello World!');
}
将对象与基元进行比较时,使用
valueOf()
. 如果不存在,则使用toString()
see。转换返回具有后增量的属性的当前值i
,即 回归1
,i
成为2
。等等。下面是一个给出原始结果的例子,尽管修改了方法toString
- is usedvalueOf()
。如果注释掉valueOf()
,结果会不一样。