|
|
@ -52,7 +52,7 @@ this 是一个复杂的机制,JavaScript 标准定义了 \[\[ thisMode \]\] |
|
|
|
- global - 表示当 this 为 underfined 时,取全局对象,对应普通函数。 |
|
|
|
- global - 表示当 this 为 underfined 时,取全局对象,对应普通函数。 |
|
|
|
- strict - 当严格模式时使用,this 严格按照调用时传入的值,可能为 underfined 或 null |
|
|
|
- strict - 当严格模式时使用,this 严格按照调用时传入的值,可能为 underfined 或 null |
|
|
|
|
|
|
|
|
|
|
|
实际上 this 也可以看作是在调用时被确认的词法环境,普通函数被调用时会将 this 指向调用者的引用压入执行上下文栈,但箭头函数不会创建新的词法环境,因此箭头函数中的 this 将从词法环境中查找并继承(复用)其定义时外部函数的 this(指向调用外部函数的普通对象或 global)。 |
|
|
|
实际上 this 也可以看作是在调用时被确认的词法环境,普通函数被调用时会将 this 指向调用者的引用压入执行上下文栈,但箭头函数不会创建新的词法环境,因此箭头函数中的 this 将从词法环境中查找并继承(复用)其定义时外部函数的 this。 |
|
|
|
|
|
|
|
|
|
|
|
## 上下文栈 |
|
|
|
## 上下文栈 |
|
|
|
|
|
|
|
|
|
|
|