正文:
var that =this;
this指的是当前的对象。 that是一个临时的变量,用于保存当前对象的this状态。(that可以随便取名)
示例:
Page({
data: {
},
onLoad:function(){
var that = this;
this.a = 1;
console.log(this.a)
setTimeout(function () {
console.log(this.a)
console.log(that.a)
}, 1000)
}
})
打印结果是:
1
undefined
1
原理说明:(有3个log,我简称log1,log2,log3)
log1打印1,这里this指的是onLoad函数对象的a的值.
log2打印结果是undefined , 这里this指的是setTimeout里面的匿名函数对象,它是没有a的。
log3打印出1,这里that代表的是onLoad函数对象的a的值。