帮你彻底搞懂JS中的prototype、

    xiaoxiao2021-04-17  219

    帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)

    https://blog.csdn.net/cc18868876837/article/details/81211729

     

    帮你彻底搞懂JS中的prototype、__proto__与constructor(图解) https://blog.csdn.net/cc18868876837/article/details/81211729

    constructor  ---- 构造函数 构造器  建造者,制造者,建造商 __proto__    ----  原型链 prototype    ----  原型;雏形;最初形态

    对象有: constructor ,__proto__ 函数有: prototype 函数是特殊的对象,所以函数有 prototype, constructor,__proto__

    function Foo(){} let f1=new Foo();

    函数创建的对象.__proto__ === 该函数.prototype, 该函数.prototype.constructor===该函数 ==> f1.__proto__===Foo.prototype Foo.prototype.constructo===Foo

    constructor: 对象特有,从一个对象指向一个函数,指向该对象的构造函数

    __proto__: 对象特有,从一个对象指向一个对象           a.__proto__ 表示a的父对象           a.__proto__.__proto__ 表示a的爷爷对象           ... 当访问一个对象的属性时候,如果此对象不存在,则往父对象找,如果还不存在,往爷爷对象找...

    prototype: 函数特有,从一个函数指向一个对象,函数的原型对象 Foo.prototype==f1.__proto__==Object{constructor:function Foo() ... }

     

    1. f1               ==>     Object{  } 2. f1.__proto__     ==>     Object{ constructor: Foo() } 3. f1.constructor   ==>     Foo()  

    1. Foo              ==>     function Foo() 2. Foo.prototype    ==>     Object{ constructor: Foo() }

     

     

     


    最新回复(0)