찾다

 >  Q&A  >  본문

javascript - js对象函数如何不劫持callback函数的this指向?

function Afun(){
    this.bfun = new Bfun(this.callBack);
}

Afun.prototype.callBack = function(){
    console.log(this);//这个函数被`Bfun`调用时,this指的是`Bfun`,如何让它指为`Afun`?
}

function Bfun(callBack){
    callBack();
}

new Afun();//输出`Bfun`,但是我希望是`Afun`
阿神阿神2907일 전319

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-10 15:09:40

    this.bfun = new Bfun(this.callBack.bind(this));

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glob...

    회신하다
    0
  • 黄舟

    黄舟2017-04-10 15:09:40

    function Afun() {
        this.bfun = new Bfun( this.callBack.bind(Afun) );
    }
    

    회신하다
    0
  • 취소회신하다