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.call()参1 是指向的目标,从第二个参数开始,是写被修改的这个函数需要的参数,按顺序写
2.apply()参1this指向的目标,参2把参数放到一个数组里,
3.bind()只改变this指向,不调用,想调用在后面加个()