0

在函数声明和进入函数执行上下文时分配的内部范围属性有什么区别?

定义: [[Scope]] property is already written and stored in function object. [[Scope]] in contrast with Scope (Scope chain) is the property of a function instead of a context.

链接:( http://dmitrysoshnikov.com/ecmascript/chapter-4-scope-chain/#function-creation

我的意思是:一旦函数被声明,它将被分配范围属性,或者在执行期间将分配范围属性。

4

1 回答 1

0

这就是闭包的概念。这里的措辞与正常情况不同。基本上有两件事发生——首先你有闭包,即在函数定义的上下文中本地声明的变量对函数可用。这就是他所指的“范围链”。此外,在函数从“执行上下文”开始之前,本地定义的变量(函数中的 var 语句)不存在。(通常这些存储在堆栈或堆中)。

于 2013-07-07T04:42:05.900 回答