精品 原型鏈的理解

2021-08-21 20:50:26 字數 965 閱讀 2806

看圖之前我們首先來了解幾個物件原型的基本知識:

例子:

function

fn() {}// fn為建構函式

var f1 = new fn();//f1是fn建構函式建立出來的物件

建構函式的prototype屬性值就是物件原型。(fn.prototype就是物件的原型)

建構函式的prototype屬性值的型別就是物件

typeof fn.prototype===object.

物件原型中的constructor屬性指向建構函式(fn.prototype.constructor===fn)

物件的proto屬性值就是物件的原型。(f1.proto就是物件原型)

fn.prototype===f1.__proto__其實它們兩個就是同乙個物件—物件的原型。

所有fn.prototype.__proto__===object.prototype

typeof

object.prototype ===object。

object.prototype.__proto__===null。
我討論原型就是指的物件與原型物件之間的關係。所以原型鏈也稱之為物件鏈。

有了以上的基礎知識,下面的原型煉圖你就可以看明白了。

所以物件f1的原型鏈:f1.__proto__---->fn.prototype.__proto__----->object.prototype.__prototype__---->null

原型鏈的理解

此貼用於記錄原型鏈相關的一些東西。函式都有prototype,物件都有 proto 乙個函式的prototype和乙個物件的 proto 就是原型,原型其實也是乙個物件。乙個函式的prototype和這個函式的示例物件的 proto 是同乙個引用,即 function a let a new a c...

原型鏈的理解

此貼用於記錄原型鏈相關的一些東西。函式都有prototype,物件都有 proto 乙個函式的prototype和乙個物件的 proto 就是原型,原型其實也是乙個物件。乙個函式的prototype和這個函式的示例物件的 proto 是同乙個引用,即 function a let a new a c...

原型鏈的理解

此貼用於記錄原型鏈相關的一些東西。函式都有prototype,物件都有 proto 乙個函式的prototype和乙個物件的 proto 就是原型,原型其實也是乙個物件。乙個函式的prototype和這個函式的示例物件的 proto 是同乙個引用,即 function a let a new a c...