`
uule
  • 浏览: 6307292 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

this为何要赋值给局部变量that

    博客分类:
  • JS
 
阅读更多

this的取值是跟它所在的上下文有关的。具体说就是跟它位于哪个函数中有关,以及跟这个函数被调用的方式有关。

 

在闭包里,还有在事件绑定的时候,由于作用的问题,this的上下文(作用域)变了,这个确实在JS中有点诡异,把this设置成一个局部变量后,外部函数里嵌套的函数就可以正确识别这个变量了。

 

 

tab.prototype.init=function(){
            for(var i=0,len=this.span.length;i<len;i++){
                var that=this;
                that.span[i].index=i;
                that.span[i].onclick=function(){
                   that.show(this.index);
               }
            }
            this.show(1);
        }

 详细解释

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics