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

查看:86
本文介绍了javascript - 这里为什么把this赋给变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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);
                }

有什么好处吗?直接用不可以吗?

解决方案

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

如:
img.onload = function () {

    context.clearRect(0,0,width,height);
    context.drawImage(img, 0, 0,img.width, img.height);
    //你这里想调用上面的this的话就需要用到me,因为这里的this指向的是img

}

这篇关于javascript - 这里为什么把this赋给变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆