谈谈你对this的理解及应用场景

51 阅读1分钟

this的五种情况分析

this执行主体 谁把它执行【和在哪儿创建、在哪儿执行没有必然的关系】

1、函数执行,看方法前面是否有“点“,没有”点“,this指向window【严格模式下是undefined】,有“点”,“点”前面是谁this就指向谁

2、给当前某个元素的事件行为绑定方法,当事件行为触发,方法中的this是当前元素本身【排除attachEvent】

3、构造函数中的this是指当前类的实例

4、箭头函数中没有执行主体,所用到的this都是其所处上下文中的this

5、可以基于Object.prototype上的call/apply/bind去改变this的指向

手写call、bind方法

image.png