var a = 10
var obj = {
a: 20,
say: () => {
console.log(this.a)
}
}
obj.say()
var anotherObj = { a: 30 }
obj.say.apply(anotherObj)
10 10
say是一个箭头函数,作用域是声明它的上下文,obj对象声明的环境是window,所以say在一开始声明的时候,内部this已经被固定是window了,- 箭头函数,没有属于自己的this(是继承来的),而是始终指向声明它的上下文,即使是使用
apply、call、bind也无法更改。