麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > JavaScript > 正文

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

2019-11-19 10:57:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言:

  在小程序或者js開(kāi)發(fā)中,經(jīng)常需要使用var that = this;開(kāi)始我以為是無(wú)用功,(原諒我的無(wú)知),后來(lái)從面向?qū)ο蟮慕嵌纫幌刖兔靼琢耍旅婧?jiǎn)單解釋一下我自己的理解,歡迎指正批評(píng)。

代碼示例:

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

第一個(gè)this.data.test打印結(jié)果為10,原因是因?yàn)閠his的指向是包含自定義函數(shù)testfun1()的Page對(duì)象。

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

  解決辦法 為復(fù)制一份this的指向到變量中,這樣在函數(shù)執(zhí)行過(guò)程中雖然this改變了,但是that還是指向之前的對(duì)象。

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

  編譯之后沒(méi)有報(bào)錯(cuò),正常打印出結(jié)果;

  再來(lái)一項(xiàng)更明白的例子:

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

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

 總結(jié):

大家知道this是指當(dāng)前對(duì)象,只是一個(gè)指針,真正的對(duì)象存放在堆內(nèi)存中,this的指向在程序執(zhí)行過(guò)程中會(huì)變化,因此如果需要在函數(shù)中使用全局?jǐn)?shù)據(jù)需要合適地將this復(fù)制到變量中。

以上所述是小編給大家介紹的微信小程序中為什么使用var that=this,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久成人福利 | 猫咪av在线 | 蜜桃网站免费 | 成人在线观看免费 | 一区二区三区在线观看免费 | 午夜色视频在线观看 | 久久国产亚洲视频 | 香蕉国产片 | 精品国产一区二区三区久久久 | 一区二区三区四区视频在线观看 | 男女做性免费网站 | 最新中文在线视频 | 精品一区二区三区免费看 | 色交视频 | 国产精品热 | 欧美1区2区 | www.91sese| 久久久久久久久久久av | 久久亚洲精品久久国产一区二区 | 久久国产亚洲视频 | 久久久久久亚洲国产精品 | 自拍亚洲伦理 | 91av在线影院| 欧美成人精品一区二区 | 久久精品视频一区二区三区 | 中文字幕亚洲视频 | 九一免费国产 | 狠狠撸电影 | 国产亚洲精品美女久久久 | 精品一区二区在线播放 | 12av毛片| 国产精品久久久久久久久久久久午夜 | 欧美一区二区三区不卡免费观看 | 国产精品视频一区二区噜噜 | 成人羞羞在线观看网站 | 色99久久 | 日操操夜操操 | 羞羞的视频在线 | 精品国产高清一区二区三区 | 欧美片一区二区 | 狠狠干91 |