前端測試題: 關於箭頭函數的描述,錯誤的是?

  • 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 對象,綁定使用時所在的對象