阻止引用Object的内置成员

时间:2013-01-15 21:13:50

标签: javascript firefox

创建新对象时,您可以引用object class的任何成员。例如:

var obj = new Object();
obj["watch"];  //returns the watch() function of Object

有没有办法覆盖这个默认行为,以便obj [“watch”]返回undefined而不是?请注意,我只在Firefox中看到此行为

1 个答案:

答案 0 :(得分:4)

从EcmaScript 5.1开始,您可以生成没有原型的对象(没有Object.protoypethis way

var empty = Object.create(null);
empty.watch; // undefined

您将需要本机功能,使用new的简单polyfill无法执行此操作。另请参阅this docs section of es5-shim

  

请注意,我只在Firefox中看到此行为

那是因为watch是非标准的FF扩展。不过,您应该也可以在其他浏览器中获得standard properties