提问人:江定玺 提问时间:4/5/2023 最后编辑:Bergi江定玺 更新时间:4/6/2023 访问量:44
outer 和 [[scopes]] 之间有什么关系?
What is the relationship between outer and [[scopes]]?
问:
在执行函数时,会创建一个执行上下文,执行上下文的词法环境中的 outer 属性指向上层执行上下文的词法环境,以获取执行过程中使用的变量。数组是否由 [[Scopes]] 外部链接上的所有词法环境维护?这两者有什么关系?作用域链的确定是与执行上下文相关,还是在创建作用域链时与执行上下文直接关联?
我正在尝试理解“外部”和“[[范围]]”之间的关系。
答:
-1赞
spectra.shohan
4/6/2023
#1
词法环境中的“outer”属性是指父执行上下文的词法环境。它用于解析当前词法环境中未定义的变量和函数。
函数对象的 [[Scopes]] 内部属性是函数的作用域链中所有词法环境的列表。它用于为调用函数时创建的每个新执行上下文创建作用域链。该列表不仅包括外部词法环境,还包括嵌套在外部词法环境中的任何词法环境。
总之,词法环境中的“outer”属性是指父执行上下文的词法环境,而函数对象的 [[Scopes]] 内部属性是函数作用域链中所有词法环境的列表。
评论