_this.cancel && _this.cancel.call(_this, e);

_this.cancel && _this.cancel.call(_this, e);

老师请教下这个干嘛用的  _this.cancel && _this.cancel.call(_this, e);

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕糖 2019-04-12 17:03:42

同学你好,这里的cancel是_init的这个cancel哦,使用this的话,是可以挂载到实例化对象上的。例:

http://img1.sycdn.imooc.com//climg/5cb053a20001e5fd13150274.jpg

当然访问的时候,也可以通过this来访问实例化对象上的方法与属性。

而这里的_this这个常量保存的就是this,所以可以通过_this.cancel来访问挂载到实例化上的cancel哦。

http://img1.sycdn.imooc.com//climg/5cb0540d0001e5b408400157.jpg

希望能帮助到你,祝学习愉快!

  • 提问者 慕瓜9188159 #1
    就是到底有什么用处。它的目的是什么?感觉没讲的关键点
    2019-04-13 09:36:24
  • 提问者 慕瓜9188159 #2
    this.comfirm.call(_this,e) 如果删除掉,this.comfirm新实例化的对象就不会起作用。就是我理解的是_this指代的全局Msg实例化的对象。而_this.confirm存在也实例化了一个对象。 这个this.comfirm.call(_this,e) 就是把this.comfirm实例化的对象挂载到全局Msg上,这样新实例化的对象就会起作用。也相当于在内部实例化了。不知道这样理解对不对对不对???
    2019-04-13 10:07:01
  • 一路电光带火花 回复 提问者 慕瓜9188159 #3
    可以这里理解,不顾在准确点this.comfirm这个不是实例化对象,就是个方法,是在实例化对象上的方法。这个方法是外部传入的,因为开始这个是个参数。跟老师说的cancel是一样的,都是参数。
    2019-04-13 12:15:10
好帮手慕糖 2019-04-12 14:01:48

同学你好,&&是逻辑运算符,是逻辑与;这句话的意思,是_this.cancel若是存在的话为真,否则为假。&&逻辑与运算符,若第一个为假的话,就直接返回了,为真的话,会接着执行第二个,就执行了_this.cancel.call(_this, e); 

希望能帮助到你,欢迎采纳。

祝学习愉快!

  • 提问者 慕瓜9188159 #1
    _this.cancel.call(_this, e);逻辑关系明白,这个的意思是不是_this.cancel继承_this的方法?
    2019-04-12 14:57:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师