我想试验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。
如果您使用Chrome,则大多数ES6功能都隐藏在功能切换后面。浏览到chrome:// flags,找到标题为“启用实验性JavaScript”的部分并启用它以启用支持:chrome:// flags / #enable-javascript-harmony
激活后,重新启动Chrome浏览器,它应该可以正常工作
如果您使用Chrome,则大多数ES6功能都隐藏在功能切换后面。浏览到chrome:// flags,找到标题为“启用实验性JavaScript”的部分并启用它以启用支持:chrome:// flags / #enable-javascript-harmony
激活后,重新启动Chrome浏览器,它应该可以正常工作
只需从带有标志的命令行启动chrome --js-flags="--harmony-proxies"
或将其添加到chrome的快捷方式
可以使用针对代理的Chrome专用垫片 https://github.com/anywhichway/chrome-proxy。如果您的需求是基本的,那么在v8团队完成重新实施之前,这应该可以帮到您。