簡體   English   中英

javascript更改Object.prototype不起作用

[英]javascript changing Object.prototype not work

這只是為了實驗。 以下代碼似乎無法將Object.prototype更改為null。

Object.prototype = null;
var o = new Object();

是因為它是'對象'還是內置類型? 我認為我們可以為用戶定義的類型更改它。 對不起,如果我錯了

來自MSDN
這里有更多信息: http//msdn.microsoft.com/en-us/library/f5s9ycex(v = vs.94).aspx

所有內部JavaScript對象都具有只讀的prototype屬性。 可以將屬性和方法添加到原型中,但是可以不為對象分配不同的原型。 但是,可以為用戶定義的對象分配新的原型。 此語言參考中的每個內部對象的方法和屬性列表指示哪些是對象原型的一部分,哪些不是。

從規范
這里有更多信息: http//www.ecma-international.org/ecma-262/5.1/#sec-15.2.3.1

15.2.3.1 Object.prototype

Object.prototype的初始值是標准的內置Object原型對象(15.2.4)。

此屬性具有屬性{[[Writable]]:false,[[Enumerable]]:false,[[Configurable]]:false}。

15.2.3.1 Object.prototype指定:

此屬性具有屬性{[[Writable]]:false,[[Enumerable]]:false,[[Configurable]]:false}。

8.6.1屬性屬性有關[[Writable]]說法:

如果為false,則ECMAScript代碼嘗試使用[[Put]]更改屬性的[[Value]]屬性將不會成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM