1. 程式人生 > >prototype和__proto__的關係是什麼?

prototype和__proto__的關係是什麼?

我們建立的每個函式都有一個prototype屬性,這個屬性是一個物件(原型物件),它的用途是包含可以由特定型別的所有例項 共享的屬性和方法。

Function是物件,Function的原型prototype也是物件,它們都會具有物件共有的特點。即:物件具有屬性__proto__,每個物件都會在其內部初始化一個屬性,就是__proto__,當我們訪問一個物件的屬性時,如果這個物件內部不存在這個屬性,那麼他就會去__proto__裡找這個屬性,這個__proto__又會有自己的__proto__,於是就這樣一直找一下,直到__proto__為null,這也就是所謂的原型鏈。

Function這個特性的物件,除了和其他物件一樣有上述的__proto__屬性之外,還有自己特有的屬性(prototype),這個屬性是一個指標,指向一個物件,這個物件的用途就是包含所有例項的共享的屬性和方法。prototype是通過呼叫建構函式建立的那個物件例項的原型物件。原型物件有一個屬性,叫做constructor,指回原建構函式

參考:https://www.cnblogs.com/Narcotic/p/6899088.html