JavaScript中的执行上下文

前端之家收集整理的这篇文章主要介绍了JavaScript中的执行上下文前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
JavaScript中的每个函数创建一个新的执行上下文.

运行以下代码时,内存中存在多少个执行上下文?请注意,不会调用功能栏.

function Foo () {

  function Bar() {}

}

Foo();

此外,何时创建执行上下文?在评估时或运行时?

解决方法

函数的运行时调用是导致创建执行上下文的原因.因此,在您的示例中,只有一个函数调用,因此只涉及一个执行上下文.

函数的静态(编译时)排列很重要,因为它确定了执行上下文的范围和最终内容.然而,实际调用函数对于创建上下文很重要. (一些较旧的语言使用术语“激活记录”,但这可能更适用于基于堆栈的分配.)

你可以用the spec的有时翻天的语言来阅读细节,尽管很难弄清楚森林的树木.规范是根据转移的控制来编写的.函数调用是一种非常常见的方式,但事件处理程序的调用或完整的< script>的调用也是如此.最初由浏览器加载时阻止.

猜你在找的JavaScript相关文章