Mar*_*ves 5 javascript v8 node.js
Node.js使用V8,并将JavaScript编译为优化策略。
那么,通过node.js / V8在服务器端运行的JavaScript是经过编译还是解释?
小智 11
解释器:语言运行时/虚拟机的(核心)模块部分,它针对以模块所在的虚拟机的语言表达的一组表达式采取特定“操作”。
编译器:语言运行时的(核心)模块部分,它将以模块所在的编译器的语言表达的一组表达式“转换”为一组对运行表达式的架构本机的指令。
标准 Node.js 是针对 V8 构建的,它将每个 Javascript 代码片段编译为原生指令。您可以在命令行中使用 --print_code 标志来查看哪些脚本正在被编译,以及编译成什么。
希望这可以帮助。
V8 引擎将 javascript 编译为一系列机器代码指令,一次一个函数(通常,函数直到第一次调用才会编译)。
V8 解析代码并提取 AST(抽象语法树),执行范围分析以了解符号所指的上下文,并将其转换为机器代码指令。
正如您提到的,V8 高度关注性能:除了编译每个函数的完整编译器之外,V8 还包含额外的编译器,负责优化标识为经常使用的块(称为Crankshaft)
所以不,没有对 javascript 代码的解释,而是对机器代码的翻译和执行。
| 归档时间: |
|
| 查看次数: |
2569 次 |
| 最近记录: |