gpt4 book ai didi

javascript - JavaScript的执行栈在PC上用在哪里?

转载 作者:行者123 更新时间:2023-12-01 02:35:24 24 4
gpt4 key购买 nike

我目前正在观看有关 JavaScript 的类(class),并且了解了有关执行上下文和执行堆栈的一些知识。然而,这个话题确实向我提出了一些问题:

我了解执行堆栈的工作原理,并且我知道每个进程都有自己的堆栈。但是这个执行堆栈可以替代正常的进程堆栈吗?或者可以在不同的级别上找到这个执行堆栈吗?

如果我是对的,JavaScript 代码是由浏览器的引擎执行的。那么,执行栈是用在这个引擎中还是其他地方呢? JS 代码在计算机上如何以及在何处执行?因为例如像 FireFox 这样的浏览器本身就是一个进程。

所以我假设 FireFox 当然有自己的堆栈,但是在其中执行的 JavaScript 代码呢?或者是在机器上执行JavaScript代码期间创建了一个新进程?

我无法理解它。

提前致谢,

迈克

最佳答案

JavaScript 是一种解释性语言,因此由称为 JS 引擎的解释器运行。虽然 JS 引擎最常见的是在 Web 浏览器中运行,但它并不限于浏览器,例如NodeJS 运行它自己的服务器端 JS 解释器。 JS 引擎是 ECMA 脚本标准的实现,see a list of engines on WikiPedia 。有些实现是开源的,并且内置于完全不同的软件中,例如 Google Chrome 和 NodeJS 都使用 V8 引擎来执行 JS 代码。

I know that every process has it's own stack. But is this execution stack then the replacement for the normal process stack?

浏览器运行自己的操作系统进程,大多数浏览器将使用多个操作系统进程(例如 Chrome uses renderers 每个都有一个单独的 JS 引擎实例,但相关网站将共享相同的渲染器,从而共享 JS 引擎),但是重要重点是不要将操作系统进程执行上下文与 JS 执行上下文混淆。后者存在于前者之中。

操作系统进程本身运行 JS 引擎。 OS进程的执行上下文由OS(内核)控制,而JS的执行上下文由JS引擎控制。

因此,JS执行栈取代普通进程栈的想法当然是无稽之谈。

关于javascript - JavaScript的执行栈在PC上用在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47964439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com