1. 程式人生 > >淺析JavaScript中this儲存

淺析JavaScript中this儲存

循環 變量名 當前 each ava var rip div 習慣

this是Javascript語言的一個關鍵字。它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用。

在JavaScript中,this代表的是當前對象。 在寫原型鏈時,經常需要將this進行儲存,就是將當前的this對象復制一份到另一個變量中。我們習慣用that或者_this來作為變量名,即var that = this; 或者 var _this = this;

那麽問題來了,為什麽要這樣做呢?這樣做有什麽意義呢? 舉個栗子:

 $(‘#conten‘).click(function(){
     //this是被點擊的#conten 
     var that = this; 
     $(‘.conten‘).each(function(){ 
     //this是.conten循環中當前的對象 
     //that仍然是剛才被點擊的#conten
     }); 
});

可以看到,this對象在程序中隨時會改變,而var that=this之後,that沒改變之前仍然是指向當時的this,這樣就不會找不到原來的對象。  

淺析JavaScript中this儲存