原型鏈:基本思想是利用原型讓一個引用類型繼承另一個引用類型的屬性和方法。
每個構造函數都有一個原型對象,原型對象包含一個指向構造函數的指針,實例都包含一個指向原型對象的內部指針。
原型對象:每個新函數都會有一個prototype屬性(prototype是個指針),這個屬性指向函數的原型對象,包含一個指向函數的指針(constructor),Person.prototype.constructor指向Person,constructor是一個屬性,這個屬性包含一個指向函數的指針。
Person(構造函數)擁有一個prototype屬性 → Person.prototype(是個指針)→ 原型對象(原型對象包含一個constructor屬性)
constructor屬性包含一個指向prototype所在函數的指針,即包含一個指向Person的指針 → Person實例包含一個指針 → 原型對象
作用鏈.png
作用鏈示意圖.png