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

首頁 > 編程 > JavaScript > 正文

JavaScript嚴格模式下關于this的幾種指向詳解

2019-11-19 16:05:53
字體:
來源:轉載
供稿:網友

前言

相信不少人在學習或者使用Javascript的時候,都曾經被 JavaScript 中的 this 弄暈了,那么本文就來整理總結一下在嚴格模式下 this 的幾種指向。

一、全局作用域中的this

在嚴格模式下,在全局作用域中,this指向window對象

 "use strict";  console.log("嚴格模式"); console.log("在全局作用域中的this"); console.log("this.document === document",this.document === document); console.log("this === window",this === window); this.a = 9804; console.log('this.a === window.a===',window.a);


二、全局作用域中函數中的this

在嚴格模式下,這種函數中的this等于undefined

 "use strict";  console.log("嚴格模式"); console.log('在全局作用域中函數中的this'); function f1(){ console.log(this); }  function f2(){ function f3(){ console.log(this); } f3(); } f1(); f2();


三、 對象的函數(方法)中的this

在嚴格模式下,對象的函數中的this指向調用函數的對象實例

 "use strict";  console.log("嚴格模式"); console.log("在對象的函數中的this"); var o = new Object(); o.a = 'o.a'; o.f5 = function(){ return this.a; } console.log(o.f5());


四、構造函數的this

在嚴格模式下,構造函數中的this指向構造函數創建的對象實例。

 "use strict";  console.log("嚴格模式"); console.log("構造函數中的this"); function constru(){ this.a = 'constru.a'; this.f2 = function(){ console.log(this.b); return this.a; } } var o2 = new constru(); o2.b = 'o2.b'; console.log(o2.f2());


五、事件處理函數中的this

在嚴格模式下,在事件處理函數中,this指向觸發事件的目標對象。

 "use strict";  function blue_it(e){ if(this === e.target){ this.style.backgroundColor = "#00f"; } } var elements = document.getElementsByTagName('*'); for(var i=0 ; i<elements.length ; i++){ elements[i].onclick = blue_it; }  //這段代碼的作用是使被單擊的元素背景色變為藍色

六、內聯事件處理函數中的this

在嚴格模式下,在內聯事件處理函數中,有以下兩種情況:

 <button onclick="alert((function(){'use strict'; return this})());"> 內聯事件處理1 </button> <!-- 警告窗口中的字符為undefined -->  <button onclick="'use strict'; alert(this.tagName.toLowerCase());"> 內聯事件處理2 </button> <!-- 警告窗口中的字符為button -->

后語

參考資料

MDN https://developer.mozilla.org...

延伸資料

JavaScript 嚴格模式詳解 //www.survivalescaperooms.com/article/74890.htm

菜鳥學堂 > JavaScript 嚴格模式 http://edu.VeVB.COm/js/js-strict.html

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平阳县| 东港市| 新郑市| 日土县| 肥东县| 临潭县| 孟村| 陵川县| 古浪县| 伊宁县| 崇义县| 连云港市| 县级市| 清苑县| 英德市| 临邑县| 鱼台县| 吉安县| 曲水县| 页游| 太谷县| 高清| 灵宝市| 长乐市| 阳山县| 海盐县| 宽城| 泰宁县| 新平| 平原县| 日土县| 西乡县| 朝阳县| 临桂县| 芜湖县| 临城县| 五华县| 沽源县| 武川县| 十堰市| 宕昌县|