__proto__与prototype

来源:互联网 发布:ubuntu apt 安装路径 编辑:程序博客网 时间:2024/06/07 03:08

_ _ proto _ _ (隐式原型) 与 prototype(显式原型)

  • 在javascript中,每个函数都有prototype属性,如果某个函数被用作构造函数时,则这个属性会被自动通过new调用创建对象的原型
  • js在创建对象时(普通/函数对象),都有一个叫做_proto_的内置属性,用于指向创建它的函数对象的原型prototype
  • 所有被new Parent()创建的对象实例中共用一个fn
    function Parent(){        this.name = "小明";        this.age = 18;    }    Parent.prototype.fn = function(){        console.log("我是原型fn");    }
    var obj1 = new Parent();    var obj2 = new Parent();    console.log(obj1.__proto__ === Parent.prototype);//true    obj1.__proto__.fn = function(){        console.log("我被obj1修改过了");    }    obj1.__proto__newfn = function(){        console.log("我是obj1新创建的");    }    obj2.fn();//我被obj1修改过了    obj2.newfn();//我是obj1新创建的
原创粉丝点击