国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

聊一聊JS中this的指向問題

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

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

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

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

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

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

oBtn.onclick = function(){   alert(this); //oBtn   fn1(this); 1 將上面的this作為參數(shù)傳函數(shù)去  } 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的指向,最基礎的也就這幾種,很多復雜的也是由基礎演變的。有沒有輕松掌握呢。

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 烟台市| 余姚市| 商南县| 田东县| 延安市| 华容县| 乡城县| 太保市| 潞城市| 西丰县| 谢通门县| 大理市| 长阳| 陈巴尔虎旗| 双牌县| 台北市| 咸阳市| 珠海市| 桐乡市| 嘉定区| 萨嘎县| 普安县| 依兰县| 越西县| 武定县| 平顶山市| 师宗县| 广平县| 辽阳市| 剑阁县| 竹溪县| 南涧| 保定市| 获嘉县| 洪洞县| 扎囊县| 岫岩| 南通市| 宁德市| 万山特区| 邯郸县|