js中原型鏈的理解

2021-09-25 19:49:57 字數 516 閱讀 5918

原型鏈是理解js物件導向很重要的一點,這裡主要涉及到兩個點,一是proto,二是prototype,舉個例子吧

例如:我用function建立乙個person類,然後用new person 建立乙個物件的例項,假如叫做pl,在person類的原型prototype新增乙個方法,例如:play方法,那物件例項pl如何查詢到play這個方法呢,有乙個查詢過程,

具體流程是這樣的:首先在pl物件例項上查詢是否有play方法,如果有則用呼叫執行,如果沒有則用pl.proto(proto是乙個指向的作用,指向上一層的原型)往建立pl的類的原型上查詢,也就是說往person.prototype上查詢,如果在person.pertotype找到play方法則執行,否則繼續往上查詢,則用person.prototype.proto繼續往上查詢,找到object.prototype,如果object.prototype有play方法則執行之,否則用object.prototype繼續往上查詢,但object.prototype.proto上一級是null,也就是原型鏈的頂級,結束原型鏈的查詢。

js中原型和原型鏈

let hd new object object.prototype.show function function getname console.dir getname console.log getname.prototype.proto getname.proto proto true con...

JS中原型的理解

我們都知道在js的世界中,幾乎所有東西都是物件,而物件又是通過繼承來層層獲得屬性和方法,var str new string mario console.dir str 首先我們要區分string物件和function string 建構函式的區別,js中物件繼承 proto 的是物件,函式繼承 p...

JavaScript中原型和原型鏈

原型 prototype 為其他物件提供共享屬性的物件。每個函式都有乙個原型 prototype 屬性,這個屬性是乙個指標,指向乙個物件,這個物件包含特定例項共享的一些屬性和方法。以例服人 這個例子說明了原型物件是共享的,並且是乙個指標,並且物件的例項中也有指向prototype指向物件的指標。fu...