JavaScript 会编译为二进制吗?

jle*_*lee 3 javascript interpreter v8 rhino

JavaScript 是否在网络浏览器之上运行?

喜欢运行在 JVM 之上的 Java 吗?

或者它实际上编译成二进制代码并在机器上运行吗?

Sup*_*fly 5

V8(在 Google Chrome 中)包含一个 JS 解释器和一个 JIT(即时)编译器。JS 代码转换为 V8 特定的字节码。字节码最初由解释器解释,称为“点火”。当函数变得“热”(运行很多)时,TurboFan JIT 编译器会从字节码生成优化的机器代码。

其他现代 JS 引擎也使用类似的策略。所以 JS 可以被解释或编译为机器代码(使用 JIT 编译器),类似于 JVM 的工作方式,是的。