相关疑难解决方法(0)

如何检测 JavaScript 中何时设置了全局变量?

foo在 javascript 中,我可以使用以下方法检测何时设置全局变量(假设它最初未定义) Object.defineProperty

var foo_;
Object.defineProperty(window, 'foo', {
  get: function() {
    return foo_;
  },
  set: function(newFoo) {
    console.log('foo set to ' + newFoo);
    foo_ = newFoo;
  }
});
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方法来做到这一点?一个缺点是我不能Object.defineProperty两次访问同一处房产。仅仅为了检测它的定义时间而覆盖整个属性似乎有点矫枉过正。

我可以以某种方式使用代理吗?我觉得我必须创建一个针对窗口对象的代理......这样有效吗?

javascript ecmascript-6

6
推荐指数
1
解决办法
938
查看次数

标签 统计

ecmascript-6 ×1

javascript ×1