摘要:前言曾經(jīng)被中的弄暈了,今天整理總結(jié)一下在嚴格模式下的幾種指向。嚴格模式構(gòu)造函數(shù)中的事件處理函數(shù)中的在嚴格模式下,在事件處理函數(shù)中,指向觸發(fā)事件的目標對象。
前言
曾經(jīng)被 JavaScript 中的 this 弄暈了,今天整理總結(jié)一下在嚴格模式下 this 的幾種指向。
1. 全局作用域中的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);2. 全局作用域中函數(shù)中的this
在嚴格模式下,這種函數(shù)中的this等于undefined
"use strict"; console.log("嚴格模式"); console.log("在全局作用域中函數(shù)中的this"); function f1(){ console.log(this); } function f2(){ function f3(){ console.log(this); } f3(); } f1(); f2();3. 對象的函數(shù)(方法)中的this
在嚴格模式下,對象的函數(shù)中的this指向調(diào)用函數(shù)的對象實例
"use strict"; console.log("嚴格模式"); console.log("在對象的函數(shù)中的this"); var o = new Object(); o.a = "o.a"; o.f5 = function(){ return this.a; } console.log(o.f5());4. 構(gòu)造函數(shù)的this
在嚴格模式下,構(gòu)造函數(shù)中的this指向構(gòu)造函數(shù)創(chuàng)建的對象實例。
"use strict"; console.log("嚴格模式"); console.log("構(gòu)造函數(shù)中的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());5. 事件處理函數(shù)中的this
在嚴格模式下,在事件處理函數(shù)中,this指向觸發(fā)事件的目標對象。
"use strict"; function blue_it(e){ if(this === e.target){ this.style.backgroundColor = "#00f"; } } var elements = document.getElementsByTagName("*"); for(var i=0 ; i6. 內(nèi)聯(lián)事件處理函數(shù)中的this 在嚴格模式下,在內(nèi)聯(lián)事件處理函數(shù)中,有以下兩種情況:
后語參考資料
MDN https://developer.mozilla.org...
延伸資料
阮一峰的網(wǎng)絡(luò)日志 > JavaScript 嚴格模式詳解 http://www.ruanyifeng.com/blo...
菜鳥教程 > JavaScript 嚴格模式 http://www.runoob.com/js/js-s...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88319.html
摘要:前言初學(xué)總會對指向感到疑惑,想要深入學(xué)習,必須先理清楚和相關(guān)的幾個概念。中總是指向一個對象,但具體指向誰是在運行時根據(jù)函數(shù)執(zhí)行環(huán)境動態(tài)綁定的,而并非函數(shù)被聲明時的環(huán)境。除去不常用的和的情況,具體到實際應(yīng)用中,指向大致可以分為以下種。 前言 初學(xué)javascript總會對this指向感到疑惑,想要深入學(xué)習javascript,必須先理清楚和this相關(guān)的幾個概念。javascript中t...
摘要:的幾種用法關(guān)于是什么理論上是執(zhí)行上下文的一個屬性,的值在進入到執(zhí)行上下文的時候就已經(jīng)確定了,且不會再改變。默認綁定這種情況下,不屬于任何一個函數(shù)方法內(nèi),即在全局作用域下,這種情況下稱為默認綁定。最后的總結(jié)用偽代碼的形式來表示例外例外本文參考 this的幾種用法 關(guān)于this this是什么? 理論上this是執(zhí)行上下文的一個屬性,this的值在進入到執(zhí)行上下文的時候就已經(jīng)確定了,且不會...
摘要:除此之外,還有一種情況也會修改,在一些庫中傳入回調(diào)函數(shù),可能會強制改變的綁定,例如在中本例中的就是被強制改變綁定到了觸發(fā)事件的元素上。它們的第一個參數(shù)是一個對象,它們會把這個對象綁定到,接著在調(diào)用函數(shù)時指定這個。 理解JavaScript中的this關(guān)鍵詞 this關(guān)鍵詞是JavaScript語言中一個很重要,同時也是一個非常復(fù)雜的機制,它同時也是一個很特殊的關(guān)鍵詞,它一般會被自動定義...
摘要:作為構(gòu)造函數(shù)何為構(gòu)造函數(shù)所謂構(gòu)造函數(shù)就是用來對象的函數(shù),像等都是全局定義的構(gòu)造函數(shù)。正在跑步正在說話正在跑步正在說話如上,如果函數(shù)作為構(gòu)造函數(shù)用,那么其中的就代表它即將出來的對象。 前言 總括:詳解JavaScript中的this的一篇總結(jié),不懂this這個難點,很多時候會造成一些困擾,寫出一些bug不知如何收場,所以一起來寫bug吧,不對,一起來寫代碼吧。 原文地址:JavaScr...
摘要:當解釋器尋找引用值時,會首先檢索其在棧中的地址,取得地址后從堆中獲得實體如何實現(xiàn)繼承構(gòu)造繼承原型繼承實例繼承拷貝繼承原型機制或和方法去實現(xiàn)較簡單,建議使用構(gòu)造函數(shù)與原型混合方式。它是基于的一個子集。 JavaScript介紹js的基本數(shù)據(jù)類型。Undefined、Null、Boolean、Number、Stri...
閱讀 2483·2023-04-26 02:18
閱讀 1271·2021-10-14 09:43
閱讀 3840·2021-09-26 10:00
閱讀 6985·2021-09-22 15:28
閱讀 2550·2019-08-30 15:54
閱讀 2611·2019-08-30 15:52
閱讀 486·2019-08-29 11:30
閱讀 3475·2019-08-29 11:05