簡單兩句話解釋下prototype和__proto__

先上兩句代碼:函數

var Person = function () {};
var p = new Person();

把new的過程拆分紅如下三步:spa

<1> var p={}; 也就是說,初始化一個對象p;prototype

<2> p.__proto__=Person.prototype;code

<3> Person.call(p);也就是說構造p,也能夠稱之爲初始化p。對象

咱們通常只在寫構造函數的時候會用到prototype,其實__proto__纔是咱們常說的原型鏈,由於咱們通常都是在生成實例。blog

prototype只是在實現原型鏈中只是起到了一個輔助做用,換句話說,他只是在new的時候有着必定的價值,而原型鏈的本質,其實在於__proto__!原型鏈

相關文章
相關標籤/搜索