移动开发 \ 微信小程序 \ this和that的区别和原理

this和that的区别和原理

总点击141
简介:如果对您有帮助,请关注我,欢迎加入微信小程序开发交流QQ群(173683866),有问题也可以加群问我获取问群里的大神!!!

如果对您有帮助,请关注我,欢迎加入微信小程序开发交流QQ群(173683866),有问题也可以加群问我获取问群里的大神!!!

本篇博文纯属个人见解,如有不妥,可以留言批评指正,谢谢。

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)

}

})打印结果是:


原理说明:(有3个log,我简称log1,log2,log3)

log1打印1,这里this指的是onLoad函数对象的a的值.


log2打印结果是undefined , 这里this指的是setTimeout里面的匿名函数对象,它是没有a的。

log3打印出1,这里that代表的是onLoad函数对象的a的值。


意见反馈 常见问题 官方微信 返回顶部