JavaScript中this關鍵字原理
先來看一個例子:
var obj = {
foo: function () { console.log(this.bar) },
bar: 1
};
var foo = obj.foo;
var bar = 2;
obj.foo() // 1
foo() // 2
造成這種差異的原因就是函式體內部使用了this關鍵字,需要明確的是程式碼中this指的是函式執行時所在的環境。
為啥會是這樣呢?下面將詳細剖析。
JS會將函式單獨儲存在記憶體中,JavaScript 還允許在函式體內部,引用當前環境的其他變數。
因此,上面程式碼函式f在全域性環境執行,this.x指向全域性環境的x。在obj環境執行,this.x指向obj.x。
相關推薦
JavaScript中this關鍵字原理
先來看一個例子: var obj = { foo: function () { console.log(this.bar) }, bar: 1 }; var foo = obj.foo; var bar = 2; obj.foo() // 1 foo() // 2 造成這種差
JavaScript中this關鍵字的指向問題
asc 函數調用 javascrip new spa con oba cti func 1、純粹的函數調用,this就代表全局對象Global var x = 1; function test(){ var x = ‘二哈‘; console.log(th
對於JavaScript中this關鍵字的理解
決定 博客 rip script 答案 搜索 http 環境 return 這是我第二遍學this了,第一遍學的懵懵的。this指哪裏都是憑我一個男人的直覺然後控制臺輸出看看對不對。 剛查了書、博客、視頻。理解差不多了。畢竟菜雞me; 一、首先介紹下什麽是this
JavaScript中this關鍵字
JavaScript中this關鍵字用法較為靈活,用處較多,主要有以下幾種方式: 1.瀏覽器中,全域性的this指向window; console.log(this===window); console.log(this); this.a='nice'; console
JavaScript中this物件原理簡潔說明
今天看了阮一峰大神的部落格文章:JavaScript 的this原理,把糾結很久的this的指向終於理解清楚了 原文:http://www.ruanyifeng.com/blog/2018/06/javascript-this.html 現在來說說如何區分不同情況下的this物件指向,如下所示:
JavaScript 中 this 的原理
一、問題 學習 JavaScript 其中一個標誌就是理解下面兩種寫法,會輸出有不一樣的結果。 var obj = { foo: function () {} }; var foo = obj.foo; // 寫法一 obj.foo() // 寫法二 foo() 在上面的程式碼中,雖
JavaScript中this關鍵字改變指向的三種方法(apply、call、bind)
首先,瞭解一下this關鍵字。this關鍵字就涉及到函式呼叫的內容。函式的幾種呼叫方式: 普通函式呼叫 作為方法來呼叫 作為建構函式來呼叫 使用apply/call方法來呼叫 Function.prototype.bind方法 ES6箭頭函式 但是不管
JavaScript中 this 關鍵字
面嚮物件語言中 this 表示當前物件的一個引用。 但在 JavaScript 中 this 不是固定不變的,它會隨著執行環境的改變而改變。 1,在方法中,this 表示該方法所屬的物件。 2,如果單獨使用,this 表示全域性物件。 3,在函式中,this 表示全域性物件。 在函式中,
Java中this關鍵字原理及作用
this關鍵字 一:this關鍵字的作用 *當方法的區域性變數和類的變數名重名時,在不使用this的情況下會有什麼結果? Person String name;//定義當前Person名字 //引數name是目標名字 //成員變數name是自己名字 public void s
詳解javascript中this的工作原理
new 變量 person get 工作 func 存在 嚴格 es5 在 JavaScript 中 this 常常指向方法調用的對象,但有些時候並不是這樣的,本文將詳細解讀在不同的情況下 this 的指向。 一、指向 window: 在全局中使用 this,它將會指向全局
大前端學習筆記整理【五】關於JavaScript中的關鍵字——this
寫在前面 工作有那麼一段時間了,但是在工作中,發現自己的理論知識還是有所欠缺。特別是在javascript上,很多東西其實自己屬於知道要用這個,但是不知道為什麼要這麼用...這種情況很是尷尬了,所以寫部落格的很重要一個目的就是鍛鍊我自己的總結能力,把學到的東西總結出來,感覺這樣能讓我更快的去理解所學到的東西。
JavaScript中this的用法
屬於 指向 cti 用法 func 生成 純粹 ava 構造函數 this的使用環境有以下幾種 1、純粹的函數調用 純粹的函數調用屬於函數的最常用的用法,屬於全局性調用。在全局函數中,this等於window。 2、作為對象方法的調用 當函數不是全局調用,而是作為某個對象
JAVA中this關鍵字的用法
blog http tro font return his 局部變量 .com str this關鍵字主要有三個應用: 1.調用本類中的屬性,也就是類的成員變量; 2.調用本類中的其他方法; 3.調用本類中的其他構造方法,調用時候要放在構造方法的首行。 * this關鍵
javascript中this的指向
span this 有時 變量 mage bsp 匿名函數 javascrip 生成 作為一個前端小白在開發中對於this的指向問題有時候總是會模糊,於是花時間研究了一番。 首先this是JS的關鍵字,this是js函數在運行是生成的一個內部對象,生成的這個this只能在函
Javascript中 this的精要總結
實例 ref 今天 方法 自動 console 網上 這樣的 理解 對於javascript中this的指向問題,或許你和我一樣,總是很迷惑,今天通過學習了有些作者對這方面比較深刻的理解後,抄錄其中比較有用的精髓如下: 本文主要引用至:追夢子,如有需要可以導向去閱讀。 關鍵
淺析JavaScript中this儲存
循環 變量名 當前 each ava var rip div 習慣 this是Javascript語言的一個關鍵字。它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用。 在JavaScript中,this代表的是當前對象。 在寫原型鏈時,經常需要將this進行儲
JavaScript 中 this 是如何工作的 ?
全局 val fst 如何使用 stephen 如何 系列 操作 link 先來看看這個題目: var x = 0; var foo = { x:1, bar:{ x:2, baz: function () { consol
第149天:javascript中this的指向詳解
doc ava 常見 每一個 document () 學習 知識 對象 js中的this指向十分重要,了解js中this指向是每一個學習js的人必學的知識點,今天沒事,正好總結了js中this的常見用法,喜歡的可以看看: 1、全局作用域或者普通函數中this指向全局對象wi
Java中this關鍵字的使用
成員變量 用法 表示 當前 重載 說明 可讀性 舉例 調用構造 說明:this用於指向調用該方法的當前對象。 用法: 1. this.成員變量 ------ 表示訪問當前對象的成員變量 2. this() ------
圖說js中的this——深入理解javascript中this指針
前端 javascript this沒搞錯吧!js寫了那麽多年,this還是會搞錯!沒搞錯,javascript就是回搞錯!…………在寫java的時候,this用錯了,idea都會直接報錯!比如……但是,js,……idea,愛莫能助了……在面向對象編程裏有兩個重要的概念:一個是類,一個是實例化的對象,類是一個