js 原型與原型鏈

2021-08-07 17:17:40 字數 1062 閱讀 5480

5條原型規則:

1.所有的引用型別(陣列、物件、函式),都具有物件特性,即可自由擴充套件屬性(除了「null」除外)。

2.所有的引用型別(陣列、物件、函式),都有乙個_proto_(隱式原型)屬性,屬性值是乙個普通的物件。

3.所有的函式,都有乙個prototype(顯式原型)屬性,屬性值也是乙個普通的物件。

4.所有的引用型別(陣列、物件、函式),_proto_屬性值指向他的建構函式的「prototype"屬性值。

5.當時吐的道乙個物件的某個屬性時,如果這個物件本身沒有這個屬性,那麼會去他的_proto_(即他的建構函式的prototype)中尋找。

f.tostring()//要去f._proto_.proto_:

當這個物件沒有這個屬性的時候,就會娶她自身的隱式原型中去找,隱式原型又指向她建構函式的顯式原型foo.prototype,顯示原型指向普通物件,即object,又foo.prototype也是乙個物件,從他的屬性中找tostring依然也要先從他的隱式原型中去找.

instanceof :用於判斷引用型別屬於哪個建構函式的方法。

原型繼承的例項:

JS原型與原型鏈

凡是通過new function 建立的物件都是函式物件,其他的是普通物件。var o1 var o2 new object var o3 new f1 function f1 var f2 function var f3 new function str console.log str conso...

js原型與原型鏈

定義函式的時候都建立了乙個函式物件,裡面有個prototype屬性指向了乙個object空物件,這個物件就是函式的原型物件。原型物件中有個constructor屬性,指向函式物件 通過new建立的物件,有個 proto 屬性 左右都是兩個下劃線 它等於對應建構函式的的prototype的值,如上圖。...

js 高階 原型與原型鏈

所有函式都有乙個特別的屬性 prototype 顯式原型屬性 所有例項物件都有乙個特別的屬性 proto 隱式原型屬性 1.每個函式都有乙個prototype屬性,它預設指向乙個物件 objectg 即稱為 原型物件 顯式原型與隱式原型的關係 函式的prototype 定義函式時被自動賦值,值預設為...