在ECMASCript规范中说,在函数调用之后,我们为适当的函数创建了一个指定的执行上下文。因此,请考虑以下简单功能:
function(){
var a='a';
return 0;
}
在函数调用之后,我们将创建一个新的执行上下文。但是在执行return语句之后,我们已经返回到执行我们的函数的执行上下文。但是函数的执行上下文呢?甚至在我们离开之后是否存在?
答案 0 :(得分:2)
当函数返回时,假设没有未完成的闭包引用,则销毁执行上下文。具体实现取决于何时实际释放内存。
答案 1 :(得分:0)
在javascript中我们有:
您可以拥有任意数量的函数上下文,并且每个函数调用都会创建一个新的上下文,从而创建一个私有作用域,其中无法从当前函数作用域外直接访问函数内部声明的任何内容。