问答详情
源自:12-3 自定义事件实现(二)

this的用法

为什么调用fire方法要用that,而用on要用this

提问者:慕慕3423296 2017-04-03 12:25

个回答

  • 作死的花生酱
    2017-04-07 17:34:27

    on、fire都是window对象的方法。

    this指向什么,要根据上下文来判断,this指向的东西并不是不变的。

    调用on方法的时候,按当时的上下文,this指向的是window对象。可以直接this.on这么调用。

    到了要使用fire方法的时候,是在click(function(){  ……  })里边了,一个作为参数的无名函数里边。在这个函数里,this指向的不是window,所以你没法直接this.fire这样调用。