原型鏈就是你定義一個函數和構建一個函數對象之間關係編程
你能夠簡單的理解爲prototype就是各個實例化的函數對象的老媽(老媽有的就是你的,你有的不必定是老媽的)(__proto__這個屬性是函數獨有的)瀏覽器
比如你作題,你搞不定了喊你爸來解決,這個時候__proto__就是你爸的做用了,當你訪問一個對象的屬性的時候,他找不到那他就要說:爸這個東西我不知道啊,你能夠搞不(__proto__這個屬性是對象獨有的)函數
這就像你家不止你一個,有你姐、你弟,那麼怎麼明確誰是誰呢,那就是constructor,它的做用就是由它來將各個對象區分開來(constructor屬性也是對象才擁有的)學習
本來世界什麼都沒有,神說不行啊,這我咋編程啊,而後null就成了Object的空老爸,爲何是空老爸呢?由於其餘對象的老爸(proto)都或多或少可以幫忙解決問題,可是Object的老爸是null那你想從null中間掏出點什麼屬性看來是不可能了。
而後就是若是咱們正常定義了一個函數應該有幾層呢? .net
本人菜雞的一點理解,錯了但願大佬指導。prototype