浅析JavaScript中this储存

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,这样就不会找不到原来的对象。  

 

posted @ 2017-12-02 11:09  Libor  阅读(507)  评论(0编辑  收藏  举报