IIFE中的代理错误?

时间:2017-11-05 23:32:55

标签: javascript proxy

我的代码是:

var cartModule = (function() {
  var cart = [];
  var cart_proxy = new Proxy(cart, handler); *
  var handler = {
    get: function(target, property) {
      ...
    }
  }
})();

当我在开发服务器中加载页面时,第(*)行的错误显示为:Uncaught TypeError: Cannot create proxy with a non-object as target or handler,但数组应该正常工作...

这是否与cartModule是IIFE这一事实有关?我不知道为什么会......

1 个答案:

答案 0 :(得分:0)

它表示" 作为目标或处理程序 "。数组目标确实可以正常工作,但代码中handlerundefined,因为它尚未初始化。

  • 在尝试使用未初始化的变量时,使用letconst代替var获取有意义的异常
  • 创建处理程序后移动代理创建:

var cartModule = (function() {
  const cart = [];
  const handler = {
    get: function(target, property) {
      ...
    }
  }
  return new Proxy(cart, handler);
})();