原型和原型鏈

2021-09-16 12:54:54 字數 399 閱讀 2916

原型:

每個函式都會預設有乙個prototype屬性,它是乙個指標,指向此函式的原型物件。而建構函式作為乙個函式,同樣擁有自己的原型物件,而通過建構函式生成的物件例項中,擁有乙個_proto_ 屬性,它指向建構函式的原型物件,我們把建構函式的原型物件稱為物件例項的原型。

原型鏈:

既然每個例項物件都有乙個原型,而每個建構函式也都能建立例項,那假如我們將建構函式 f1 的原型屬性指向建構函式f2的例項物件,那麼建構函式f1的例項物件就能訪問f2的原型屬性,依次類推,我們還可以把建構函式f3的原型屬性指向f2的隊例項物件,那麼f3的例項物件同樣可以訪問到f1的原型,這樣,就構成了一條原型鏈。

原型 和 原型鏈

每乙個js物件 null除外 都和另乙個物件相關聯。另乙個 物件就是我們熟知的原型,每乙個物件都從原型繼承屬性。所有通過物件直接量建立的物件都具有同乙個原型物件,並可以通過js object.prototype 獲得對原型物件的引用。通過關鍵字new和構造函式呼叫建立的物件的原型就是建構函式的 pr...

原型和原型鏈

原型鏈 例項物件與原型之間的連線,叫做原型鏈 function human human.prototype.age 22 var a new human console.log a.age 這裡的age掛載到了human的原型上面了。其實原型就是乙個物件。a為什麼能找到原型上面的物件呢?這裡例項物件...

原型和原型鏈

建構函式 function foo name age function 其實是 var a new object 的語法糖 var a 其實是 var a new array 的語法糖 function foo 其實是 var foo new function 的語法糖 new乙個物件的過程 建立乙...