js 高階 原型與原型鏈

2022-03-20 21:02:23 字數 725 閱讀 8257

* 所有函式都有乙個特別的屬性:

* `prototype` : 顯式原型屬性

* 所有例項物件都有乙個特別的屬性:

* `__proto__` : 隱式原型屬性

1.  每個函式都有乙個prototype屬性, 它預設指向乙個物件 objectg(即稱為: 原型物件)

* 顯式原型與隱式原型的關係

* 函式的prototype: 定義函式時被自動賦值, 值預設為{}, 即用為原型物件

* 例項物件的__proto__: 在建立例項物件時被自動新增, 並賦值為建構函式的prototype值

* 原型物件即為當前例項物件的父物件

* 原型鏈

* 所有的例項物件都有__proto__屬性, 它指向的就是原型物件

* 這樣通過__proto__屬性就形成了乙個鏈的結構---->原型鏈

* 當查詢物件內部的屬性/方法時, js引擎自動沿著這個原型鏈查詢

* 當給物件屬性賦值時不會使用原型鏈, 而只是在當前物件中進行操作

JS高階 原型和原型鏈

原型鏈是一種關係,例項物件和原型物件之間的關係,關係是通過例項物件中瀏覽器使用的原型 proto 來聯絡的 自定義建構函式,通過例項化,建立例項物件 例項物件中 proto 是原型,瀏覽器使用的 建構函式中的prototype是原型,程式設計師使用的 使用物件 使用物件中的屬性和物件中的方法,使用物...

js 原型與原型鏈

5條原型規則 1.所有的引用型別 陣列 物件 函式 都具有物件特性,即可自由擴充套件屬性 除了 null 除外 2.所有的引用型別 陣列 物件 函式 都有乙個 proto 隱式原型 屬性,屬性值是乙個普通的物件。3.所有的函式,都有乙個prototype 顯式原型 屬性,屬性值也是乙個普通的物件。4...

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...