JS里的this有几大原则:
- 谁调用,this就指向谁
- 没人调用指向window(非严格模式下)
- apply call bind可以指定this
- 通过构造函数new出来一个对象,this指向这个对象
- 箭头函数内部的this为外层作用域的this(也可以理解为箭头函数没有this)
今天记两个写代码时遇见的this的坑,当然也没有逃离上面的原则,只是拐了个弯
1. 监听事件函数的this
监听谁,this就指向谁,可以理解为是监听对象调用了函数。
2. 回调函数的this
我们在使用forEach、Promise时常常会用到回调函数,回调函数的this指向的是window,参考上面的第2条原则。
网友评论