函数中的this与 this.prototype

函数中的this添加函数是加在对象上,而this.prototype是添加在原型上,通过prototype的指向来一级一级查找

prototype是构造函数访问原型对象,__proto__是对象实例访问原型对象

    Function.prototype.add=function(name,fn){
      this.prototype[name]=fn;
      return this;
    }
    var Methods=function(){
      this.addObj = function () { console.log("my is add to obj") }
    };
    Methods.add('a', function () { console.log("a") }).add('b', function () { console.log("b")})
    console.log(Methods)
    console.log(Methods.prototype)
    var che=new Methods();
    che.addObj()//"my is add to obj"
    che.a()//b

 console.log(che.constructor)
 console.log(che.constructor == Methods)//true

 che.constructor指向构造函数 

 

posted @ 2019-05-21 14:46  ThisCall  阅读(867)  评论(0编辑  收藏  举报