91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中為什么要使用var that=this

發布時間:2022-04-13 14:05:41 來源:億速云 閱讀:273 作者:iii 欄目:編程語言

今天小編給大家分享一下微信小程序中為什么要使用var that=this的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

代碼示例:

Page({
 data: {
  test:10
 },
 testfun1: function () {
  console.log(this.data.test) // 10
  function testfun2(){
   console.log(this.data.test) //undefined
  }
  testfun2()
 },
})

第一個this.data.test打印結果為10,原因是因為this的指向是包含自定義函數testfun1()的Page對象。

第二個打印語句實際上會報錯,原因是在函數testfun2()中,this指向已經發生改變,也不存在data屬性,會error:Cannot read property 'data' of undefined;

  解決辦法 為復制一份this的指向到變量中,這樣在函數執行過程中雖然this改變了,但是that還是指向之前的對象。

  testfun1: function () {
  var that = this
  console.log(this.data.test) // 10
  function testfun2() {
   console.log(that.data.test) // 10
  }
  testfun2()
 },
 onLoad:function(){
  this.testfun1();
 }

  編譯之后沒有報錯,正常打印出結果;

微信小程序中為什么要使用var that=this

  再來一項更明白的例子:

 onLoad: function() {
  var testvar = {
   name: "zxin",
   testfun3: function() {
    console.log(this.name);
   }
  }
  testvar.testfun3();
 }

 編譯后輸出結果:zxin。this.name指的是testvar對象,testfun3()也屬于testvar對象。

以上就是“微信小程序中為什么要使用var that=this”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涪陵区| 上虞市| 绩溪县| 桃江县| 屯昌县| 乐东| 北流市| 威海市| 清原| 宁都县| 读书| 江门市| 巴楚县| 桓台县| 凤山市| 德兴市| 项城市| 黄平县| 格尔木市| 苍南县| 临颍县| 宣恩县| 安康市| 普兰县| 沙坪坝区| 长寿区| 龙泉市| 讷河市| 陇川县| 梁山县| 夏河县| 合山市| 安图县| 贞丰县| 太仓市| 西吉县| 旌德县| 堆龙德庆县| 徐汇区| 东兰县| 桃园县|