美文网首页
如何实现a===1&&a===2&&a===3

如何实现a===1&&a===2&&a===3

作者: 蚂蚁想赛跑 | 来源:发表于2021-11-08 18:19 被阅读0次

方法一:我们使用ES6的Proxy代理来实现。

let result= {
  number: 1
};
result= new Proxy(test, {
  get(target, key) {
    return target[key]++;
  }
});
if(result.number === 1 && result.number ===2 && result.number ===3){
    console.log('istrue oh no');
}

方法二使用Object.defineProperty来解决,我们可以使用它来劫持a变量,当获取它的值得时候让它自增

var result2= 1;
Object.defineProperty(window, "a", {
  get() {
    return this.result2++;
  }
});
if (a === 1 && a === 2 && a === 3) {
  console.log("istrue");
}
劫持全局window上面的a,当a每一次做判断的时候都会触发get属性获取值
并且每一次获取值都会触发一次函数实行一次自增,判断三次就自增三次,最后会让公式成立。

相关文章

网友评论

      本文标题:如何实现a===1&&a===2&&a===3

      本文链接:https://www.haomeiwen.com/subject/vyfpzltx.html