1.有如下代碼,解釋Person、 prototype、proto、p、constructor之間的關(guān)聯(lián)。
person:聲明的函數(shù)
p:構(gòu)造函數(shù)person的實例對象
prototype:函數(shù)原型,所有函數(shù)
proto:每個對象都會有的原型
constructor:prototype內(nèi)的屬性,包含函數(shù)本身

Paste_Image.png
2.上例中,對對象 p可以這樣調(diào)用 p.toString()。toString是哪里來的? 畫出原型圖?并解釋什么是原型鏈。
toString來自object

Paste_Image.png
原型鏈就是js在創(chuàng)建對象的時候,都會有一個叫做proto的內(nèi)置屬性,它指向創(chuàng)建他的函數(shù)對象的原型對象,所以在元素調(diào)用方法的時候,先從自己身上找,沒有的話從創(chuàng)建它的函數(shù)的函數(shù)原型上找,再找不到的話從object的原型上找,如果還沒有的話,就是沒有了。這種逐級往上找的鏈式關(guān)系叫做原型鏈。