最近被問到了一個問題:

javaScript 中的箭頭函數(shù) ( => ) 和普通函數(shù) ( function ) 有什么區(qū)別?

我當時想的就是:這個問題很簡單啊~(flag),然后做出了錯誤的回答……

箭頭函數(shù)中的 this 和調(diào)用時的上下文無關(guān),而是取決于定義時的上下文

這并不是很正確的答案……雖然也不是完全錯誤

箭頭函數(shù)中的 this

首先說我的回答中沒有錯誤的部分:箭頭函數(shù)中的 this 確實和調(diào)用時的上下文無關(guān)

function make () {
    return ()=>{
        console.log(this);
    }}const testFunc = make.call({ name:'foo' });testFunc(); //=> { name:'foo' }testFunc.call({ name:'bar' }); //=> { name:'foo' }

這個例

網(wǎng)友評論