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

首頁 > 編程 > JavaScript > 正文

聊一聊JS中this的指向問題

2019-11-20 09:40:50
字體:
來源:轉載
供稿:網友

JS中的this指向一直是個讓人頭疼的問題,想當初我學的是天昏地暗,查了好多資料,看的頭都大了,跟他大戰了那么多回合,終于把它搞定個七八分,其實往往都是我們復雜化了,現在就讓大家輕松看懂this的指向,我會分以下幾種情況來說。
this的指向:
1、this 指的是調用當前方法(函數)的那個對象,也就是說函數在誰那被調用,this就指的是誰。
來看兩個栗子: 

 oBtn.onclick = function(){     alert(this);  //oBtn }  oBtn[i].onclick = fn1;  function fn1(){   alert(this); //oBtn } 

很容易看出,函數是在按鈕對象被點擊的時候調用,所以this指的是obtn,這兩種情況是等同的是,只是調用函數的寫法不同。
 2 當函數里面嵌套函數的時候,嵌套的那個函數里面的this指的是window,不要過分深究這個原因,因為這是JS的一個特性。
 來看個栗子: 

oBtn.onclick = function(){   alert(this); //oBtn(記得這里還是oBtn)   fn1();   } function fn1(){   alert(this); // window  } 

3 、對于上述情況,當我們需要fn1里面的this指向按鈕的時候怎么辦呢,這個時候有兩種方法。
 1) 將this作為參數傳函數去 
2) 將this保存起來賦給另一個變量
 來看兩個栗子: 

oBtn.onclick = function(){   alert(this); //oBtn   fn1(this); 1 將上面的this作為參數傳函數去  } function fn1(obj){   alert(obj); // oBtn }
var that = null;oBtn[i].onclick = function(){  alert(this); //oBtn  that = this ;// 將上面的this保存起來賦給另一個變量  fn1();}function fn1(){   alert(that); // 指向oBtn} 

OK,this的指向,最基礎的也就這幾種,很多復雜的也是由基礎演變的。有沒有輕松掌握呢。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香蕉国产9 | 中文字幕在线永久 | 日本成人一区二区 | 污片在线观看视频 | 精品69人人人人 | 久久99精品视频在线观看 | 国产精品视频成人 | 国产电影精品久久 | 亚洲午夜影院在线观看 | 欧美极品欧美精品欧美视频 | 曰批全过程40分钟免费视频多人 | av电影直播 | 久久久久久久久久综合 | 97porn| 精品久久久久久久久久中文字幕 | 国产精品www | 精品一区二区三区在线观看国产 | av国产片| 牛牛热这里只有精品 | 美女擦逼 | 黄www片| 国产精品视频一区二区三区四区国 | 91九色免费视频 | 日韩视频www| 香蕉在线看 | 成人免费一区二区三区视频网站 | 国产羞羞视频在线免费观看 | 亚洲午夜在线观看 | 国产精品一区二区三区在线播放 | 国产乱free国语对白 | 日日做夜夜操 | 成人永久免费视频 | 久久华人| 日本精品一区二区 | www.com香蕉 | 欧美一区在线观看视频 | 成人免费视频视频在线观看 免费 | 性明星video另类hd | 羞羞答答影院 | 亚洲欧洲av在线 | 成人不卡一区二区 |