前端之家收集整理的这篇文章主要介绍了
JavaScript中的执行上下文,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为
JavaScript中的每个
函数创建一个新的执行上下文.
运行以下代码时,内存中存在多少个执行上下文?请注意,不会调用功能栏.
function Foo () {
function Bar() {}
}
Foo();
此外,何时创建执行上下文?在评估时或运行时?
函数的运行时
调用是导致创建执行上下文的原因.因此,在您的示例中,只有一个
函数调用,因此只涉及一个执行上下文.
函数的静态(编译时)排列很重要,因为它确定了执行上下文的范围和最终内容.然而,实际调用函数对于创建上下文很重要. (一些较旧的语言使用术语“激活记录”,但这可能更适用于基于堆栈的分配.)
你可以用the spec的有时翻天的语言来阅读细节,尽管很难弄清楚森林的树木.规范是根据转移的控制来编写的.函数调用是一种非常常见的方式,但事件处理程序的调用或完整的< script>的调用也是如此.最初由浏览器加载时阻止.
原文链接:https://www.f2er.com/js/153667.html