原型鏈模式基礎

2021-08-13 02:34:35 字數 546 閱讀 2100

1.  每乙個函式的資料型別(普通函式,類) 都有乙個天生自帶的屬性:prototype(原型),並且這個屬性是乙個物件資料型別的值

2.  並且prototype上瀏覽器給它天生增加乙個屬性 constructor(建構函式),屬性值是當前函式(類)本身

3 每乙個物件資料型別(普通物件,例項,prototype)也是天生自帶乙個屬性:__proto__,屬性值是當前例項所屬類的原型(prototype)

object 是js中所有物件資料型別的基類(最頂層的類)

1.在object.prototype上沒有__proto__這個屬性

原型鏈模式

通過 物件名。屬性名的方式獲取屬性值的時候首先在物件的私有的屬性上進行查詢,如果私有中存在這個屬性,則獲取的是私有的屬性值;

如果私有的沒有,則通過__proto__,找到所屬類的原型(類 原型上定義的屬性和方法都是當前例項公有的屬性和方法)原型鏈上存在的話,獲取的是公有的屬性值,

如果原型上也有  則繼續通過原型上的__proto__,繼續向上查詢,一直找到object.prototype 為止。。。

原型和原型鏈基礎

如何準確判斷乙個變數是不是陣列?a instanceof array 手寫乙個簡易jquery,考慮外掛程式和擴充套件性 class jquery this length length this selector selector get index each fn on type,fn 擴充套件很...

原型鏈模式(深入)

案例一 普通 functionfn fn.prototype.getx function fn.prototype.gety function fn.prototype.getz function var f1 newfn 1 起乙個別名 把原來原型指向的位址賦值給我們的pro,現在他們操作的是同乙...

JS原型鏈模式

例項識別 建構函式模式中擁有了類和例項的概念,並且例項和例項之間是相互獨立開的 function createjsperson name,age createjsperson.prototype.writejs function 基於建構函式模式的原型模式解決了,方法或者屬性共有的問題,想讓誰共有就...