proto 和constructor.prototype
物件的proto
物件的
proto<code class="javascript">function Gadget(name, color) { this.name = name; this.color = color; } Gadget.prototype.rating = 3; var newtoy = new Gadget("webcam", "black");</code>屬性之間的區別其原型對象,其中包含共享屬性和方法。相反,constructor.prototype 指向物件建構函式的原型屬性。 以下範例說明了差異:
在這種情況下,newtoy.__proto__ 指向 Gadget。 prototype,它具有屬性評級,而newtoy.constructor.prototype也指向Gadget.prototype。然而,newtoy.constructor.prototype.constructor.prototype.constructor.prototype 傳回 null,因為除了 Object.prototype 之外沒有進一步的原型。
這是因為
proto是對原型對象,而constructor.prototype遵循原型鏈。當你多次造訪constructor.prototype時,你會遍歷原型鏈,直到你到達頂層Object.prototype。
在Internet Explorer中,沒有__proto__屬性。相反,您可以使用 [[Prototype]] 屬性來存取物件的原型。然而,這個屬性在標準 JavaScript 程式碼中是無法存取的。 引用原型物件可以幫助您理解 JavaScript 中的繼承層次結構,並提供一種在相關物件之間共享屬性和方法的機制。以上是JavaScript 中的 proto 和 Constructor.prototype 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!