2013-01-15 32 views
3

創建新對象時,您可以引用object class的任何成員。例如:防止引用內置對象的內置對象

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

有沒有一種方法可以覆蓋此默認行爲,以便obj [「watch」]返回undefined?請注意,我只看到這種行爲在Firefox

回答

4

自EcmaScript的5.1,您可以生成對象,而原型(和不Object.protoypethis way

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

您需要的本地功能,簡單的填充工具,利用new無法做到這一點。另見this docs section of es5-shim

請注意,我只看到在Firefox

這是因爲watch這種行爲是非標準FF擴展。不過,您應該也可以在其他瀏覽器中獲得standard properties

+0

謝謝,正是我在找什麼! – bovus