一張圖瞬間讓你明白原型鏈結構


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM