JavaScript 到底是如何执行的呢 -- JS的作原理
JavaScript 到底是如何工作的? 一、工作原理 JavaScript到底是: 同步还是异步? 单线程还是多线程? JavaScript 中的一切都发生在 Execution Context (执行上下文)中 您可以假设这个执行上下文 是一个大盒子或一个容器,在其中执行整个 JavaScript 代码。 这个大盒子里有两个组件: Memory(内存组件):这是所有变量和函数存储为键值对的地方。这个**“内存组件”也称为变量环境**。因此,它是一种环境,其中所有这些变量和函数都存储为键值对。 Code(代码组件):这是代码逐行执行的地方。这个“代码组件”也称为执行线程。所以,这个执行线程是一个单线程,整个代码一次只执行一行。 结论:JavaScript 是一种同步单线程语言。 单线程 意味着 JavaScript 一次只能执行一个命令。 同步单线程 意味着 JavaScript 一次只能以特定顺序每次执行一个命令。这意味着它只能在当前行完成执行后转到下一行。这就是同步单线程的意思。 很惊诧吧,实际 javascripts 有单线程 event loop 大循环来完成很多不可思议的事情。 二、实际工作过程分析 JavaScript 代码是如何执行的? 当你运行 JavaScript 代码时会发生什么? 会创建一个Execution Context(执行上下文)。 让我们使用实际的代码来举个例子: var n = 2; function square(num) { var ans = num * num; return ans; } var square2 = square(n); var square4 = square(4); 执行上述代码时,会创建 一个执行上下文 ...