普通函数
1.this指向其直接调用者
2.没有直接调用者时或者全局无前缀时,this指向window
3.严格模式下,没有直接调用者的this指向undefined
4.new一个对象时,this指向new出来的对象
5.使用bind,apply,call改变this指向时,this指向绑定的对象
箭头函数
1.this指向箭头函数定义时所在的对象(宿主对象),而不是箭头函数被使用时所在的对象
2.箭头函数不能使用构造函数,即不能new出来一个箭头函数
3.箭头函数不能使用arguments对象
4.箭头函数返回对象时,需在对象外面包一层括号()
其他
三种特殊情况下,this指向window
1.立即执行的函数
3.setTImeout中传入的函数
3.setInterval中传入的函数