前端測試題: 關於箭頭函數的描述,錯誤的是?
- 2020 年 2 月 26 日
- 筆記


考核內容: 箭頭函數的使用注意事項
題發散度: ★★
試題難度: ★
解題思路:
ES6標準新增了一種新的函數:Arrow Function(箭頭函數)。
為什麼叫Arrow Function?因為它的定義用的就是一個箭頭:
x => x * x
上面的箭頭函數相當於:
function (x) { return x * x; }
關於函數中的 this
箭頭函數看上去是匿名函數的一種簡寫,但實際上,箭頭函數和匿名函數有個明顯的區別:箭頭函數內部的this是詞法作用域,由上下文確定。
箭頭函數完全修復了this的指向,this總是指向詞法作用域,也就是外層調用者obj:
函數體內的 this 對象,綁定定義時所在的對象,而不是使用時所在的對象
參考程式碼:

可以看到,THIS並不是函數本身,而是指向父級 WINDOW,所以this不是自身函數,而是直接父級;所以錯誤的是D
答案:
D、函數體內的 this 對象,綁定使用時所在的對象