1.对象
const a = { id: 1, name: ‘s‘, do: () => { console.log(this) }
} a.do();
对象 { }里面的this指向的是window。do方法里面是箭头函数,箭头函数的this指向的是定义箭头函数所在的区域,也就是对象a{}中的this指向,该this指向window。
如果do方法里面是普通函数则this指向的就是对象a,也就是do方法的调用者。
2.普通函数
const fn = () => {
console.log(this)
}
fn();
函数{ }中不管是普通函数还是箭头函数,this指向的都是window
3.事件函数
btn.onclick = () => {
console.log(this)
}
点击事件里面是箭头函数,箭头函数的this指向的是定义箭头函数所在的区域也就是全局变量,所以该this指向window。
如果do方法里面是普通函数则this指向的就是事件的绑定者,也就是btn。
原文:https://www.cnblogs.com/canjiaXQD/p/14726167.html