1
0
Fork 0
Browse Source

vault backup: 2022-05-17 11:29:59

master
YuJian 3 years ago
parent
commit
f87e2d6d7d
  1. 6
      深入探索 JavaScript/JavaScript 执行.md

6
深入探索 JavaScript/JavaScript 执行.md

@ -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。 实际上 this 也可以看作是在调用时被确认的词法环境,普通函数被调用时会将 this 指向调用者压入执行上下文栈,但箭头函数不会创建新的词法环境,因此箭头函数中的 this 将从词法环境中查找并继承(复用)其定义时外部函数的 this。
## 上下文栈 ## 上下文栈
@ -62,4 +62,6 @@ this 是一个复杂的机制,JavaScript 标准定义了 \[\[ thisMode \]\]
在函数执行时,会创建一条执行环境记录,也就是函数定义时的上下文设置为函数的 \[\[Environment\]\],这个动作就是切换上下文,无论函数以何种形式被调用,变量都会依照定义时的环境被查找出来。 在函数执行时,会创建一条执行环境记录,也就是函数定义时的上下文设置为函数的 \[\[Environment\]\],这个动作就是切换上下文,无论函数以何种形式被调用,变量都会依照定义时的环境被查找出来。
JavaScript 用一个栈来管理执行上下文,当函数调用时,会入栈一个新的执行上下文,函数调用结束之后,执行上下文被出栈 JavaScript 用一个栈来管理执行上下文,当函数调用时,会入栈一个新的执行上下文,函数调用结束之后,执行上下文被出栈
数创建新的执行上下文中的词法环境记录时,会根据 \[\[thisMode\]\] 来标记新纪录的\[\[ThisBindingStatus\]\] 私有属性。
Loading…
Cancel
Save