JS 原型的某些概念

2022-04-29 10:27:09 字數 752 閱讀 8063

prototype:建構函式擁有乙個物件,稱為建構函式的原型屬性,可以通過 建構函式prototype進行訪問。

__proto__: 建構函式所創造出的例項物件,可通過該屬性訪問原型物件。

constructor: 是原型下的乙個屬性,構造器。可認為是原型下的乙個方法,指向建構函式本身。

原型繼承:例項物件繼承自原型的屬性或方法。

原型式繼承:利用修改原型鏈的結構(增加乙個節點,刪除乙個節點,修改節點中的成員),來使得例項物件可以使用整體鏈中的所有成員。

如:person.prototype = [ ];

//這樣子就擁有了【】陣列的所有方法 如 push() 方法。

混合繼承:例項物件繼承於原型,原型又繼承於別的物件。

原型鏈:即建構函式裡面有原型,原型裡面有原型。(可認為物件有原型,原型是物件)。

****凡是使用建構函式建立出來的物件,並且沒有修改其原型屬性就說該物件保留預設的原型鏈。

如:function 

person()   ;

varp= new

person();

//原型鏈結構如下

p  --> person.prototype --> object.prototype --> null;

原型鏈結構:

靜態成員:即建構函式自身帶來的屬性與方法。

例項成員:後天人動態地為物件新增的屬性或者方法。(可由例項物件直接訪問到的屬性或者方法)

注:個人學習筆記

JS 物件 JS原型 原型鏈

參考學習 js物件 構造器函式 建立物件的函式。物件分為普通物件和函式物件。所有物件都有 proto 屬性 函式物件不止有 proto 屬性,還有prototype屬性 稱為原型物件 1.new function 產生的物件都是函式物件。2.所有函式物件的 proto 都指向function.pro...

js的原型和原型鏈

所有引用型別 函式,陣列,物件 都擁有 proto 屬性 隱式原型 所有函式擁有prototype屬性 顯式原型 僅限函式 原型物件 擁有prototype屬性的物件,在定義函式時就被建立 建立建構函式 function human hname,hage human.prototype.intr f...

js的原型和原型鏈

1.首先 先搞清楚原型 person是乙個建構函式,我們new了乙個例項person function person var person new person person.name 大柱 console.log person.name 大柱prototype 每個函式都有乙個 prototype...