this的指向
- 在普通函数中:
在普通函数中 this指向函数的调用者,有一个有个简便的判断方法就是看函数前面有没有点,如果有点,那么就指向点前面的那个值;即this指导的这个动作的值是函数中的值。
2.箭头函数指向函数所在的所用域(函数域):
注意理解作用域,只有函数的{}构成作用域,对象的{}以及 if(){}都不构成函数作用域
const obj = {
name: 'objName',
say() { console.log(this.name); }, //一般函数
read: () => { console.log(this.name); }
}
obj.say(); //objName
objNameobj.read(); //undefined
普通函数,调用者是obj,所以结果是 objname;也是理解say()是普通函数,前面有点,所以this指向obj;箭头函数,this指向函数所在的作用域,当前的作用域为全局环境,所以this.name为undefined,