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,這樣就不會出現找不到原來的對象。