Chrome javascript代理对象未定义

时间:2014-04-11 13:20:53

标签: javascript google-chrome proxy

我想尝试使用EMCAScript 6中引入的Proxy对象,如本博文中所述:http://ariya.ofilabs.com/2013/07/es6-and-proxy.html

但是当我想运行示例代码时:

var engineer = { name: 'Joe Sixpack', salary: 50 };

var interceptor = {
  set: function (receiver, property, value) {
    console.log(property, 'is changed to', value);
    receiver[property] = value;
  }
};

engineer = Proxy(engineer, interceptor);

我收到了代理未定义的错误。有没有人更了解Chrome中对代理的支持?我在Mac上使用Chrome版本33.0.1750.152。

4 个答案:

答案 0 :(得分:7)

  

如果您使用Chrome,则大多数ES6功能都隐藏在功能切换后面。浏览到chrome:// flags,找到标题为“启用实验性JavaScript”的部分并启用它以启用支持:chrome:// flags / #enable-javascript-harmony

激活后,重新启动Chrome浏览器,它应该可以正常工作

答案 1 :(得分:2)

V8在4.9

中全面支持var ngBindHtmlDirective = ['$sce', function($sce) { return function(scope, element, attr) { scope.$watch($sce.parseAsHtml(attr.ngBindHtml), function(value) { element.html(value || ''); }); }; }]

源; http://v8project.blogspot.de/2016/01/v8-release-49.html

Chrome 49使用V8 4.9

答案 2 :(得分:1)

只需使用标记--js-flags="--harmony-proxies"从命令行启动镶边或将其添加到镶边的快捷方式

答案 3 :(得分:-1)

https://github.com/anywhichway/chrome-proxy提供了针对代理的Chrome专用垫片。如果您的需求是基本的,那么在v8团队完成重新实施之前,这应该可以帮助您。