最近做的項目中遇到了在箭頭函數里使用this時報錯的問題,把箭頭函數的寫法改成function()后,this的指向才達到預期。關於這個問題值得研究一下。 在箭頭函數出現之前的ES5時代,this指向它的調用者。是哪個對象調用了這個屬性或方法,this就指向這個對象。這有 ...
最近在研究ES 的新特性,箭頭函數。發現了幾個問題,希望跟大家分享一下,也希望能幫助下同樣有此困惑的童鞋們。 正常的箭頭函數是這樣的: var fn a, b gt return a b fn , 這樣是沒有問題的。 當然,箭頭函數出現的原因是為了規范化js中的this指向問題,給我們的編程帶來效率。 像以往的var tent this這種寫法,通過箭頭函數都可以解決。 究其原因,是因為箭頭函數的 ...
2016-08-17 15:15 0 3005 推薦指數:
最近做的項目中遇到了在箭頭函數里使用this時報錯的問題,把箭頭函數的寫法改成function()后,this的指向才達到預期。關於這個問題值得研究一下。 在箭頭函數出現之前的ES5時代,this指向它的調用者。是哪個對象調用了這個屬性或方法,this就指向這個對象。這有 ...
obj 箭頭函數:箭頭函數本身是沒有this和arguments的,在箭頭函數中引用this實際上是調用 ...
箭頭函數和普通函數的區別如下。 普通函數:根據調用我的人(誰調用我,我的this就指向誰) 箭頭函數:根據所在的環境(我再哪個環境中,this就指向誰) 一針見血式總結: 普通函數中的this: 1. this總是代表它的直接調用者(js的this是執行上下文), 例如 obj.func ...
document下的都會指向window對象。內聯事件函數中的this也是同理 而寫在對象中的函數也會遵守(指向 ...
1.箭頭函數的定時器this指向當前對象 var obj ={ name:"Tina", popup:function(){ setTimeout(()=>{ console.log("打印名字",this.name) },3000) }} obj.popup(); //打印名字 ...
全局環境下,指向windows console.log(this.document === document); // true 函數上下文調用 function f1(){ return this; } f1() === window; // true 對象中 ...
箭頭函數中this的指向問題 箭頭函數不會改變this的指向,在它外面拿到的this是什么,它里面獲取到的就是什么 setTimeout方法掛載在window上面,高程中寫道,超時調用的代碼都是在全局作用域下執行,非嚴格模式下this指向window對象,嚴格模式下為undefined ...
Vue: 不要在選項 property 或回調上使用箭頭函數,比如 created: () => console.log(this.a) 或 vm.$watch('a', newValue => this.myMethod())。因為箭頭函數並沒有 this,this 會作為變量一直 ...