❗以下this指向均在非严格模式下,在严格模式下,如果 this 没有被执行环境(execution context)定义,那它将保持为 undefined。
函数this指向
this指向函数运行时所在的对象,而不是函数被创建时所在的对象。- 匿名函数或者简单调用的函数来说,
this指向window,剩下的函数调用,指向调用者。 - 如果有
new关键字,this指向new出来的那个对象。 - 可以通过
apply,call,bind改变this的指向。 - 箭头函数没有this,指向取决于该箭头函数声明的位置,在哪里声明,
this就指向哪里。