1. 程式人生 > 其它 >2021/11/17 JS高階--原型鏈

2021/11/17 JS高階--原型鏈

原型鏈: 每個物件都可以有一個原型_proto_,這個原型還可以有它自己的原型,以此類推,形成一個原型鏈。查詢特定屬性的時候,我們先去這個物件裡去找,如果沒有的話就去它的原型物件裡面去,如果還是沒有的話再去向原型物件的原型物件裡去尋找......

prototype:

prototype屬性,它是函式所獨有的,它是從一個函式指向一個物件。它的含義是函式的原型物件,也就是這個函式(其實所有函式都可以作為建構函式)所建立的例項的原型物件;

這個屬性是一個指標,指向一個物件,這個物件的用途就是包含所有例項共享的屬性和方法(我們把這個物件叫做原型物件);

__proto__:

__proto__是原型鏈查詢中實際用到的,它總是指向prototype,換句話說就是指向建構函式的原型物件,它是物件獨有的。

注意,為什麼Foo構造也有這個屬性呢,因為再js的宇宙裡萬物皆物件,包括函式;