proto 原型指針
在javascript當中,每個對象都擁有一個原型對象prototype,而指向其原型對象的指針就是proto,通過它,我們可以從原型對象當中繼承原型對象的屬性,原型是js當中的基因鏈接,有了這個,才能知道這個對象的祖祖輩輩,通過proto 可以訪問到它所繼承的原型對象。
<code>
var a = new Array();
a.proto == Array.prototype // true
</code>
我們可以通過getprototypeof屬性來獲取對象的原型,以及通過setprototypeof屬性來修改對象的原型
prototype原型對象
每個函數都有一個原型對象,而實例化對象是沒有的,對象也是沒有的;
函數的原型指針是指向的function.prototypr;
函數實例除來有proto屬性以外,還有prototypr屬性,
通過該構造函數構造的實例化對象,它的proto指向該構造函數的prototype
而函數的prototype屬性有一個constructor指向的是它自己本身
原型鏈
原型鏈作為實現繼承的主要方法,其基本思想是利用原型讓一個引用類型繼承另一個引用類型的屬性和方法。
每個構造函數都有一個原型對象(prototype),原型對象都包含一個指向構造函數的指針(constructor),而實例都包含一個指向原型對象的內部指針(proto)。