this 指向函数运行时所属的对象
this 不指函数本身,也不指函数所对的作用域,指向调用此函数的对象
this 指向分为六种情况
1) 全局函数中的this,在全局环境下调用的时候指向window
注意:如果全局函数内部是严格模式,则在全局环境下不指向window 指undefined
2) 函数被赋值给某个事件时,指向绑定事件的对象
3) this在对象的方法中使用时,指向的是 方法所属的对象
4)在闭包中 this 指向window
5) 在构造函数中以及构造函数的原型对象中的this,都指向构造函数的实例对象
var arr=new Array() Array 是构造函数 arr 实例对象
6)箭头函数中的this 指向 箭头函数被定义的执行环境
改变闭包函数中的this指向
1)冒充方法:在对象的方法中定义一个变量保存当前this,然后在在闭包函数中使用该变量
2)可以通过 call apply bind