考核内容: 箭头函数的使用注意事项
题发散度: ★★
试题难度: ★
解题思路:
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。
为什么叫Arrow Function?因为它的定义用的就是一个箭头:
代码语言:javascript复制x => x * x
上面的箭头函数相当于:
代码语言:javascript复制function (x) {
return x * x;
}
关于函数中的 this
箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。
箭头函数完全修复了this的指向,this总是指向词法作用域,也就是外层调用者obj:
函数体内的 this 对象,绑定定义时所在的对象,而不是使用时所在的对象
参考代码:
可以看到,THIS并不是函数本身,而是指向父级 WINDOW,所以this不是自身函数,而是直接父级;所以错误的是D
答案:
代码语言:javascript复制D、函数体内的 this 对象,绑定使用时所在的对象