JavaScript 中的 var that = this
微信小程序用有如下代码:
var that = this;
if(this.globalData.userInfo){
typeof cb == "function" && cb(this.globalData.userInfo)
this 是JavaScript语言的一个关键字。它代表函数运行时,自动生成一个内部对象,只能在函数内部使用。 在以上代码中,就是将当前的对象this复制到that中。举个栗子说明一下:
$('#canvas').click(function () {
var that = this;//this是被点击的#canvas
$('.mine-canvas').forEach(function () {//.mine-canvas是当前的循环对象,that仍然是当前的this
})
})
从上面的栗子可以看出,在执行的过程中,this对象会被改变,如果将其复制道that中,that没有改变之前仍然是指向了当时的this,可以找到原this对象。
