我瞭解JavaScript原型。但混淆原型屬性和隱藏原型鏈接的區別。對象原型鏈接和函數原型鏈接之間的區別?JavaScript原型屬性和原型鏈接
可能有人請提供一個非常簡單的例子來演示相同的(主要是原型的鏈接/鏈接...喜歡它的外觀彌補了財產在兩個原型對象鏈接和函數原型鏈接而言)
我瞭解JavaScript原型。但混淆原型屬性和隱藏原型鏈接的區別。對象原型鏈接和函數原型鏈接之間的區別?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
是對象,幷包括所有的方法和屬性是在HTMLDivElement.prototype
。它屬於__proto___
屬性,但這並不意味着您應該執行div.__proto__.insertBefore
以訪問insertBefore
。這就像其他語言的包含。
換句話說div.__proto__
指向HTMLDivElement.prototype
。
prototype
是一個對象。正因爲如此,它可以擁有自己的__proto__
指針。在這種情況下,HTMLDivElement
的prototype
是一個對象,並具有指向HTMLElement.prototype
的__proto__
,因此它包含所有方法和屬性。它沿着這條路走下去,直到Object.prototype
沒有__proto__
指針和查找stups。
我試圖避免使用new
關鍵字來解釋這一點。我希望它可以幫助...
我不認爲有任何一種隱藏的鏈接。至少不是這幾天。原型屬性就是它的全部。對象原型和函數原型也沒有區別。 – Jodes 2013-03-02 08:09:27
去這裏:不錯的閱讀 - http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/ – 2013-03-02 08:22:15