在一个js写的tab组件里看到这么一段代码,很奇怪为什么要把this赋给that?this的指向不一直是tab对象吗?
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);
}
把
onclick
这里当作回调函数来看,this.index
的this
指向的是that.span[i]
。