为了账号安全,请及时绑定邮箱和手机立即绑定

这里为什么把this赋给变量?

这里为什么把this赋给变量?

叮当猫咪 2018-11-16 10:14:31
draw_anim:function(context){                var me=this;                var width = me.canvas.width,height = me.canvas.height;                                                        var img = new Image();                img.src = this.imgsrcList[me.current];                img.onload = function () {                         context.clearRect(0,0,width,height);                        context.drawImage(img, 0, 0,img.width, img.height);                }有什么好处吗?直接用不可以吗?

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

一般来说这种情况可能是因为在后面某些不属于当前环境的函数(如点击事件)里面调用this,至于把this保存成临时变量有没有性能优化的效果我不太清楚

如:
img.onload = function () {

    context.clearRect(0,0,width,height);

    context.drawImage(img, 0, 0,img.width, img.height);

    //你这里想调用上面的this的话就需要用到me,因为这里的this指向的是img

}

查看完整回答
反对 回复 2018-12-17
  • 1 回答
  • 0 关注
  • 536 浏览
慕课专栏
更多

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号