请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于后面this的意义

 _super.call(this, brand_, vechileNo_, days_, deposit_) || this;

我本来以为是防止父类传递的是个null,没有call方法 然后直接走后面流程,但是看代码前面是直接执行了 并不是先判断super有没有call方法
而且这样写正常流程也肯定会走不到后面的吧 前面的肯定会执行,老师可以说一下后面这个this的意义吗

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

2回答

keviny79 2022-04-22 13:25:43


https://img1.sycdn.imooc.com//szimg/6262526a081411b910540711.jpg

理解这个问题,需要有点架构思维才可以,详细同学可以看截图

0 回复 有任何疑惑可以回复我~
提问者 weixin_慕仰5248519 2022-04-22 09:38:34

已经知道答案了

var _this =
//  Vechile.call(this,brand_, vechileNo_, days_, total_, deposit_)
_super.call(this, brand_, vechileNo_, days_, deposit_) || this;

如果父类构造函数中没有返回this, 那么就返回这里的this,  构造函数里返回this是为了可以后面链式调用方法, 不知道这样理解对不对, 但是不知道这么做的意义是什么? 在这里的上下文环境下 直接定义 var _this = this; 不行么

0 回复 有任何疑惑可以回复我~
  • 构造函数 会隐式返回this的
    
    直接写 var _this = this;  不就还是子类Car么
    
    _this本意应该是指向 父类吧
    
    这样才能直接传父类的属性
    回复 有任何疑惑可以回复我~ 2022-07-07 18:01:35

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信