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

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

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,肅南裕固族自治企業(yè)網(wǎng)站建設,肅南裕固族自治品牌網(wǎng)站建設,網(wǎng)站定制,肅南裕固族自治網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,肅南裕固族自治網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

代碼示例:

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的指向是包含自定義函數(shù)testfun1()的Page對象。

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

解決辦法 為復制一份this的指向到變量中,這樣在函數(shù)執(zhí)行過程中雖然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”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:微信小程序中為什么要使用varthat=this
瀏覽路徑:http://muchs.cn/article34/ppphse.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、網(wǎng)站制作、商城網(wǎng)站、移動網(wǎng)站建設、面包屑導航、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司