箭头函数的this指向
- 箭头函数内部的this是词法作用域,由上下文确定
- 词法作用域就是在你写代码的时候就已经知道了变量的作用域,在处理代码时会保持作用域不变
- 箭头函数的this在定义函数的时候绑定,而不是在执行函数的时候绑定
- 箭头函数没有自己的this对象
- 箭头函数的this永远指向其父级作用域
- 任何方法都改变不了this,包括call、apply、bind
- 全局作用域的this指向顶级对象
- 函数单独调用相当于window调用
function fn () {
console.log(this)
}
fn() // 相当于window.fn(),this指向window
- 对象调用函数,谁调用指向谁
- 显式使用call、bind、apply时指向第一个参数的指明的this(只对普通函数有效,箭头函数无效)