js原型和原型鏈總結

參考文章
1.Person爲構造函數

person1.constructor == Person
person1.constructor == Person
Person.prototype.constructor == Person
person1._proto_ == Person.prototype;

2.每個對象都有 proto屬性,但只有函數對象纔有 prototype 屬性

3.原型對象,顧名思義,它就是一個普通對象

4.在默認情況下,所有的原型對象都會自動獲得一個constructor(構造函數)屬性,這個屬性(是一個指針)指向 prototype屬性所在的函數(Person)

5.那Person.prototype 爲什麼有 constructor屬性??同理, Person.prototype (你把它想象成 A) 也是Person的實例。
也就是在 Person創建的時候,創建了一個它的實例對象並賦值給它的 prototype,基本過程如下:

var A = new Person();
Person.prototype = A;

《JavaScript 高級程序設計》的圖 6-1

6.原型和原型鏈是JS實現繼承的一種模型。

7.原型鏈的形成是真正是靠_proto_ 而非prototype

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章