關於js高階的原型介紹

2021-07-24 11:52:00 字數 1057 閱讀 7176

js高階————原型(prototype)

原型即物件的乙個內部屬性,原型和物件有乙個緊密的聯絡。

如下圖所示:

先建立乙個物件

function person(){}中的prototype屬性指向原型,而原型中的constructor屬性指向person。

如果想要給物件原型新增屬性和方法可以通過person.prototype.屬性名=屬性值;

person.prototype.方法名=function(){};

新宣告的物件的—prop—屬性指向person的原型先獲取person原型中的屬性和方法再獲取person的屬性和方法。

如果我們在宣告新物件的時候給物件新增了屬性和方法,我們在獲取屬性和方法時將先獲取例項化物件裡面的方法和屬性,再獲取person的原型中的屬性和方法,再獲取person中的方法和屬性。

原型的指向檢測:

我們可以用person.prototype.isprototype(p1)檢測p1是否指向person

利用p1.constructor == person可以判斷p1的構造器是否指向person物件,

利用p1.hasownproperty(屬性名)可以判斷該屬性是否屬於p1物件,

原型的重寫:

function person(){};

person.prototype=

var p1=new person();

alert(p1.name)//輸出「小明」,

我們可以通過這種方式對person的原型進行重寫。

如下圖為原型重寫**:

JS高階 原型和原型鏈

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

js 高階 原型與原型鏈

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

js 高階 原型物件

任何物件都有原型物件,也就是prototype屬性,任何原型物件也是乙個物件,該物件就有 proto 屬性,這樣一層一層往上找,就形成了一條鏈,我們稱此為原型鏈 1.建構函式的prototype屬性指向了建構函式原型物件 2.例項物件是由建構函式建立的,例項物件的 proto 屬性指向了建構函式的原...