參考文章
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;
6.原型和原型鏈是JS實現繼承的一種模型。
7.原型鏈的形成是真正是靠_proto_
而非prototype