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

这里为什么把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 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信