對於this的指向問題還是有點不太清除,這里做一下整理,方便以后查看 普通函數的this 1.普通函數的this指向的是它的調用者,誰調用這個this,,this就指向誰,比如obj,fn,這里fn最外層的this就指向obj 2.如果沒有調用者,那這個this就指向window 3. ...
一般理解: 箭頭函數: 箭頭函數的this是在定義函數時綁定的,不是在執行過程中綁定的。簡單的說,函數在定義時,this就繼承了定義函數的對象。 普通函數: this對象是在運行時基於函數的執行環境綁定的:在全局函數中,this指向的是window 當函數被作為某個對象的方法調用時,this就等於那個對象 網上找的定義都很難理解。而下面的定義理解起來非常簡單。 實例: 總結:箭頭函數沒有自己的th ...
2019-10-16 17:35 0 653 推薦指數:
對於this的指向問題還是有點不太清除,這里做一下整理,方便以后查看 普通函數的this 1.普通函數的this指向的是它的調用者,誰調用這個this,,this就指向誰,比如obj,fn,這里fn最外層的this就指向obj 2.如果沒有調用者,那這個this就指向window 3. ...
箭頭函數和普通函數的區別如下。 普通函數:根據調用我的人(誰調用我,我的this就指向誰) 箭頭函數:根據所在的環境(我再哪個環境中,this就指向誰) 一針見血式總結: 普通函數中的this: 1. this總是代表它的直接調用者(js的this是執行上下文), 例如 obj.func ...
普通函數: 函數調用模式: fn() this ------> window 方法調用模式: obj.fn() this ------> 指向調用者 構造函數調用模式 this--------> 實例對象 上下文調用模式, 想讓this指向 ...
Vue: 不要在選項 property 或回調上使用箭頭函數,比如 created: () => console.log(this.a) 或 vm.$watch('a', newValue => this.myMethod())。因為箭頭函數並沒有 this,this 會作為變量一直 ...
全局環境下,指向windows console.log(this.document === document); // true 函數上下文調用 function f1(){ return this; } f1() === window; // true 對象中 ...
箭頭函數中this的指向問題 箭頭函數不會改變this的指向,在它外面拿到的this是什么,它里面獲取到的就是什么 setTimeout方法掛載在window上面,高程中寫道,超時調用的代碼都是在全局作用域下執行,非嚴格模式下this指向window對象,嚴格模式下為undefined ...
最近做的項目中遇到了在箭頭函數里使用this時報錯的問題,把箭頭函數的寫法改成function()后,this的指向才達到預期。關於這個問題值得研究一下。 在箭頭函數出現之前的ES5時代,this指向它的調用者。是哪個對象調用了這個屬性或方法,this就指向這個對象。這有 ...
ES3 ES5this的指向問題 this指的是該函數被調用的對象 ES6的箭頭函數 箭頭函數的this指的是定義時this的指向,b在定義時,this指向的是c被定義時的函數 ...