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