diff --git a/深入探索 JavaScript/JavaScript 执行.md b/深入探索 JavaScript/JavaScript 执行.md index 258e783..b360dc2 100644 --- a/深入探索 JavaScript/JavaScript 执行.md +++ b/深入探索 JavaScript/JavaScript 执行.md @@ -52,7 +52,7 @@ this 是一个复杂的机制,JavaScript 标准定义了 \[\[ thisMode \]\] - global - 表示当 this 为 underfined 时,取全局对象,对应普通函数。 - strict - 当严格模式时使用,this 严格按照调用时传入的值,可能为 underfined 或 null -实际上 this 也可以看作是在调用时被确认的词法环境,普通函数被调用时会将 this 指向调用者的引用压入执行上下文栈,但箭头函数不会创建新的词法环境,因此箭头函数中的 this 将从词法环境中查找并继承(复用)其定义时外部函数的 this。 +实际上 this 也可以看作是在调用时被确认的词法环境,普通函数被调用时会将 this 指向调用者压入执行上下文栈,但箭头函数不会创建新的词法环境,因此箭头函数中的 this 将从词法环境中查找并继承(复用)其定义时外部函数的 this。 ## 上下文栈 @@ -62,4 +62,6 @@ this 是一个复杂的机制,JavaScript 标准定义了 \[\[ thisMode \]\] 在函数执行时,会创建一条执行环境记录,也就是函数定义时的上下文设置为函数的 \[\[Environment\]\],这个动作就是切换上下文,无论函数以何种形式被调用,变量都会依照定义时的环境被查找出来。 -JavaScript 用一个栈来管理执行上下文,当函数调用时,会入栈一个新的执行上下文,函数调用结束之后,执行上下文被出栈 \ No newline at end of file +JavaScript 用一个栈来管理执行上下文,当函数调用时,会入栈一个新的执行上下文,函数调用结束之后,执行上下文被出栈 + +数创建新的执行上下文中的词法环境记录时,会根据 \[\[thisMode\]\] 来标记新纪录的\[\[ThisBindingStatus\]\] 私有属性。 \ No newline at end of file