美文网首页让前端飞前端小记
理解js原型链__proto__与prototype的关系

理解js原型链__proto__与prototype的关系

作者: 革易 | 来源:发表于2021-04-24 11:01 被阅读0次

    js cdn 参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

    1.

    每个实例对象( object )都有一个私有属性(称之为__proto__)

    image.png
    // 定义函数Aa()
    function Aa() {}
    
    // 实例化对象bb
    var bb = new Aa();
    
    // 每个实例对象( bb )都有一个私有属性(称之为__proto__)
    bb.__proto__
    
    2.

    __proto__指向它的构造函数原型对象(prototype )

    image.png
    // __proto__指向它的构造函数的原型对象(prototype)
    bb.__proto__ === Aa.prototype
    
    3.

    原型对象也有一个自己的原型对象( __proto__ )

    image.png
    // 该原型对象也有一个自己的原型对象( __proto__ )
    Aa.prototype.__proto__
    
    4.

    层层向上,直到一个对象的原型对象null

    image.png
    // 层层向上
    Aa.prototype.__proto__ === Object.prototype
    
    // 直到一个对象的原型对象为null
    Object.prototype.__proto__
    
    5.

    根据定义,null 没有原型,并作为这个原型链中最后一个环节

    注:对于新手来说,实在不理解就背过吧,背过+多看几遍=理解x80%

    相关文章

      网友评论

        本文标题:理解js原型链__proto__与prototype的关系

        本文链接:https://www.haomeiwen.com/subject/zgmkrltx.html