this和that的区别和原理

微信小程序开发交流qq群   173683895

   承接微信小程序开发。扫码加微信。

正文:

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

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的值。

 

相关推荐
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值