美文网首页
js原型链

js原型链

作者: __黑 | 来源:发表于2020-07-04 16:33 被阅读0次
    function Person(){}
    
    let p1 = new Person()
    let p2 = new Person()
    let obj = {}
    
    p1.__proto__ =Person.prototype       
    p2.__proto__ =Person.prototype 
    
    Person.__proto__=Function.prototype
    Person.prototype=Person.prototype
    
    Person.prototype.__proto__=Object.prototype 
    Person.prototype.constructor=Person
    
    Function.__proto__ =Function.prototype
    Function.prototype=Function.prototype
    
    Function.Prototype.__proto__=Object.prototype
    Function.constructor=Function
    
    obj. __proto__ = Object.prototype
    
    Object. __proto__=Function.prototype
    Object.prototype=Object.prototype
    
    Object.prototype.__proto__ =null
    Object.constructor=Object
    

    放一张图


    1566904-20190104144654692-1100182048.jpg

    做一个总结,说的不对的希望指出
    1.无论是构造函数还是实例对象都有proto
    2.实例对象的proto 指向该对象构造函数的原型即p1.proto =Person.prototype
    3.构造函数的proto 都指向Function.prototype,Function自身也不例外
    4.所有原型都有proto 和constructor
    5.除了Object.prototype的proto为null,其他所有原型的proto都指向Object.prototype
    6.原型的constructor指向原构造函数

    相关文章

      网友评论

          本文标题:js原型链

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