问答题885/1593a == 1 && a == 2 && a == 3 可能为 true 吗?

难度:
2021-12-26 创建

参考答案:

第一种方案

a 定义为一个对象,通过重写toString方法。根据规则,== 左边为对象类型,右边为Number,在比较时会调用 a 的toString方法,所以每次调用时都将返回值加1。

1const a = { 2 value: 1, 3 toString: function () { 4 return a.value++ 5 } 6} 7console.log(a == 1 && a == 2 && a == 3) // true

第二种方案

用相同的方法重写valueOf方法。

最近更新时间:2021-12-26

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!