js中 this与that
在JavaScript中,this代表的是当前对象。
var that=this就是将当前的this对象复制一份到that变量中。这样做有什么意义呢?
//绑定事件 bindEvent:function(){ var that=this; $("btn_buy").onclick=function(){ that.buy(); } $("btn_addcart").onclick=function(){ that.addShopCart(); } }$(‘#conten').click(function(){
//this是被点击的#conten
var that = this;
$(‘.conten').each(function(){
//this是.conten循环中当前的对象
//that仍然是刚才被点击的#conten
});
});
可以看到,this对象在程序中随时会改变,而var that=this之后,that没改变之前仍然是指向当时的this,这样就不会出现找不到原来的对象。