创建新对象时,您可以引用object class的任何成员。例如:
var obj = new Object();
obj["watch"]; //returns the watch() function of Object
有没有办法覆盖这个默认行为,以便obj [“watch”]返回undefined而不是?请注意,我只在Firefox中看到此行为
答案 0 :(得分:4)
从EcmaScript 5.1开始,您可以生成没有原型的对象(没有Object.protoype
)this way:
var empty = Object.create(null);
empty.watch; // undefined
您将需要本机功能,使用new
的简单polyfill无法执行此操作。另请参阅this docs section of es5-shim。
请注意,我只在Firefox中看到此行为
那是因为watch
是非标准的FF扩展。不过,您应该也可以在其他浏览器中获得standard properties。