前端测试题: 关于箭头函数的描述,错误的是?

  • 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 对象,绑定使用时所在的对象