js中 this与that

Posted 诛仙物语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中 this与that相关的知识,希望对你有一定的参考价值。

 

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









以上是关于js中 this与that的主要内容,如果未能解决你的问题,请参考以下文章

使用关键字“this”和“that”的 knockout.js

小程序中为什么使用var that=this

js下的this都有哪些用法

JS基础系列-聊聊this

You Don't Know JS: this & Object Prototypes( 第一章 this or That?)

var that = this 小坑记