关于{ }内this的指向问题。

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。
posted @ 2021-05-02 18:57  前端小白加油  阅读(149)  评论(0)    收藏  举报