精读《你不知道的JavaScript》上卷-II-第1章 关于this this到底指向哪里

279 阅读1分钟

II-第1章 关于this

this 提供了一种更优雅的方式来隐式“传递”一个对象引用,因此可以将 API 设计得更加简洁并且易于复用。

this 是在运行时进行绑定的,并不是在编写时绑定,它的上下文取决于函数调用时的各种条件。this 的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。 当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this 就是记录的其中一个属性,会在函数执行的过程中用到。

this既不指向函数自身也不指向函数的词法作用域

this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用。