通过搜索以及书籍查阅 不同地方对this对象的解释:
this为函数调用时使用的上下文。
this对象是运行时基于函数的执行环境绑定的
this为当前作用域的对象实例
1.普通函数: 谁调用我 我的this就指向谁
2.箭头函数: 我在哪个函数 this就指向谁
- 默认指向在定义它时所处的对象 而不是执行时的对象
- 箭头函数实际并没有自己的this对象,其内部的this自动指向外层代码块的this
- 箭头函数不能使用call apply bind 改变this指向
3.匿名函数:
匿名函数的执行环境具有全局性,this对象通常指向window
4.定时器setTimeout,setInterval
定时器中回调函数的this都指向window
没有直接的调用者 this指向的是window
5.改变this指向的常用方法
1.将外部函数的this赋值给一变量,内部函数中使用该变量,而不直接使用this
2.使用bind进行this绑定
3.使用箭头函数 箭头函数中的this默认指向外层函数的this
待补充:闭包中this指向 为什么匿名函数的this指向window