我正在阅读这篇关于 V8(Google 的 Javascript 引擎)的优秀文章:https ://developers.google.com/v8/design#mach_code 。
有一次,他们说 Javascript 直接编译成机器语言,没有任何字节码或解释器。
去引用:
V8 在第一次执行时将 JavaScript 源代码直接编译为机器码。没有中间字节码,没有解释器。
那么,为什么 Javascript 仍然与“脚本”和“解释”语言一起列出,当它被明确编译时(至少在 V8 中)?
编辑:如果已编译,我可以以某种方式从 Javascript 创建可执行文件吗?那需要以某种方式将其链接到 V8 吗?
考虑到这个问题,我找到了这句话:
V8 可以独立运行,也可以嵌入到任何 C++ 应用程序中。
在这里:http ://code.google.com/p/v8/ 。