this是什么?
this一般存在于函数中,表示当前函数的执行上下文,在一个函数调用的时候,会传递this和arguments两个隐藏属性,在不同函数、不同情况下,this的指向是不固定的。
不同情况下的this指向
1、在浏览器中,在全局范围内this 指向window对象
2、在普通函数中,this永远指向最后调用他的那个对象
如上所示:此时,this指向调用它的对象Zpy
3、在构造函数中,this指向new出来的那个新的对象
如上所示,在构造函数Father中,this指向了他所创建出的实例Son1、Son2
4、箭头函数中this比较特殊,箭头函数this为父作用域的this,不是调用时的this,箭头函数的this指向是静态的,声明的时候就确定了下来;所以箭头函数的this是无法修改的
如上所示:对象Zpy中箭头函数info的this指向了Zpy的父级作用域window
5、定时器中的this指向window