1.普通函数
严格模式(use strict)下:
当一个函数有直接调用者时,this指向该直接调用者,例如:a.b(),函数b的this指向a;
当一个函数没有直接调用者时,this指向windows;
非严格模式下:
当一个函数有直接调用者时,this指向该直接调用者;
当一个函数没有直接调用者时,this是underfined;
2.箭头函数
箭头函数没有自己this,它的this继承于该函数被定义式时所在的对象,即父级作用域
3.通过apply,call,bind绑定的函数
this指向绑定者