看圖之前我們首先來了解幾個物件原型的基本知識:
例子:
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...