JavaScript的执行上下文是如何在函数调用和代码块中创建和销毁的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2449个文字,预计阅读时间需要10分钟。
在本文中,我将深入探讨JavaScript的基本组成部分之一——执行上下文(Execution Context)。当文本结束时,你应该对以下解释有更清晰的理解:为什么在声明它们之前就可以使用某些函数或变量。
在这篇文章中,我将深入探讨JavaScript的最基本部分之一,即Execution Context(执行上下文)。 在本文结束时,你应该对解释器了解得更清楚:为什么在声明它们之前可以使用某些函数或变量?以及它们的值是如何确定的?
什么是执行上下文?
JavaScript的执行环境非常重要,当JavaScript代码在行时,会被预处理为以下情况之一:
- Global code - 首次执行代码的默认环境。
- Function code - 每当执行流程进入函数体时。
- Eval code - 要在eval函数内执行的文本。
你可以阅读大量涉及作用域的在线资料,不过为了使事情更容易理解,让我们将术语“执行上下文”视为当前代码的运行环境或作用域。接下来让我们看一个包含global和function / local上下文的代码示例。
这里没有什么特别之处,我们有一个由紫色边框表示的全局上下文,和由绿色,蓝色和橙色边框表示的3个不同的函数上下文。 只能有1个全局上下文,可以从程序中的任何其他上下文访问。
你可以拥有任意数量的函数上下文,并且每个函数调用都会创建一个新的上下文,从而创建一个私有作用域,其中无法从当前函数作用域外直接访问函数内部声明的任何内容。
本文共计2449个文字,预计阅读时间需要10分钟。
在本文中,我将深入探讨JavaScript的基本组成部分之一——执行上下文(Execution Context)。当文本结束时,你应该对以下解释有更清晰的理解:为什么在声明它们之前就可以使用某些函数或变量。
在这篇文章中,我将深入探讨JavaScript的最基本部分之一,即Execution Context(执行上下文)。 在本文结束时,你应该对解释器了解得更清楚:为什么在声明它们之前可以使用某些函数或变量?以及它们的值是如何确定的?
什么是执行上下文?
JavaScript的执行环境非常重要,当JavaScript代码在行时,会被预处理为以下情况之一:
- Global code - 首次执行代码的默认环境。
- Function code - 每当执行流程进入函数体时。
- Eval code - 要在eval函数内执行的文本。
你可以阅读大量涉及作用域的在线资料,不过为了使事情更容易理解,让我们将术语“执行上下文”视为当前代码的运行环境或作用域。接下来让我们看一个包含global和function / local上下文的代码示例。
这里没有什么特别之处,我们有一个由紫色边框表示的全局上下文,和由绿色,蓝色和橙色边框表示的3个不同的函数上下文。 只能有1个全局上下文,可以从程序中的任何其他上下文访问。
你可以拥有任意数量的函数上下文,并且每个函数调用都会创建一个新的上下文,从而创建一个私有作用域,其中无法从当前函数作用域外直接访问函数内部声明的任何内容。

