Object.getPrototypeOf(obj)如何工作?Object.getPrototypeOf()混淆
根據定義Object.getPrototypeOf(obj)應該返回一個Object的prototype屬性,或者以另一種方式它與obj.constructor.prototype相同。
使用new創建的對象使用其構造函數的prototype屬性的值作爲其原型。
讓我們舉個例子:
>element = document.getElementById("test")
>a = Object.getPrototypeOf(element)
HTMLDivElement
比方說HTMLDivElement是元素的原型。
>a.constructor.prototype
HTMLDivElement
所以a.constructor.prototype是HTMLDivElement所以Object.getPrototypeOf(一)應返回HTMLDivElement但它返回HTML元素。我完全和getPrototypeOf()的定義混淆了。
>b = Object.getPrototypeOf(a)
HTMLElement ---->爲什麼? a.constructor.prototype是HTMLDivElement
其實它是返回原型原型的屬性,是不是錯誤的定義getPrototypeOf()?
>a.constructor.prototype.__proto__
HTMLElement
對象.__ proto__和object.constructor.prototype兩者都是肯定不一樣..所以我沒有得到你的邏輯的任何部分。 – 2012-04-04 16:30:39