我想尝试使用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。
答案 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团队完成重新实施之前,这应该可以帮助您。