[英]JavaScript prototype property and prototype link
我了解JavaScript原型。 但是,請對原型屬性和隱藏的原型鏈接之間的區別感到困惑。 對象原型鏈接和功能原型鏈接之間也有區別?
有人可以提供一個非常基本的示例來演示相同的內容(主要是原型鏈接/鏈接...就像它是如何通過對象原型鏈接和函數原型鏈接來查找屬性的)
文檔對象模型(DOM)是JavaScript中繼承的一個很好的例子。
假設您有一個div
。 這是HTMLDivElement
的實例。
var div = document.createElement('div');
div instanceof HTMLDivElement; // -> true
div instanceof HTMLElement; // -> true
div instanceof Element; // -> true
div instanceof Object; // -> true
div
是一個Object ,包含HTMLDivElement.prototype
所有方法和屬性。 它位於__proto___
屬性下,但這並不意味着您應該執行div.__proto__.insertBefore
來訪問insertBefore
。 就像其他語言中的include。
換句話說div.__proto__
指向HTMLDivElement.prototype
。
prototype
是一個對象。 因此,它可以擁有自己的__proto__
指針。 在這種情況下, HTMLDivElement
的prototype
是一個Object,並且具有一個指向HTMLElement.prototype
的__proto__
,因此它包含所有方法和屬性。 它沿着這條路徑Object.prototype
,直到沒有__proto__
指針和查找stup的Object.prototype。
我試圖避免使用new
關鍵字來解釋這一點。 希望對您有幫助...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.