我正在阅读有关 V8(Google 的 JavaScript 引擎)的优秀文章:https://developers.google.com/v8/design#mach_code。
其中提到 Javascript 直接编译成机器语言,没有任何字节码或解释器。
引用原话:
V8 首次执行 JavaScript 源代码时,将其直接编译为机器代码。没有中间字节码,也没有解释器。
那么,既然在 V8 中它显然是编译的,为什么 JavaScript 仍会被列为“脚本”和“解释型”语言之一呢?
编辑:如果 JavaScript 已经编译了,我是否可以通过某种方式创建可执行文件?这需要将其与 V8 链接起来吗?
考虑到这个问题,我找到了以下引用:
V8 可以独立运行,也可以嵌入任何 C++ 应用程序中。
这里:http://code.google.com/p/v8/。
其中提到 Javascript 直接编译成机器语言,没有任何字节码或解释器。
引用原话:
V8 首次执行 JavaScript 源代码时,将其直接编译为机器代码。没有中间字节码,也没有解释器。
那么,既然在 V8 中它显然是编译的,为什么 JavaScript 仍会被列为“脚本”和“解释型”语言之一呢?
编辑:如果 JavaScript 已经编译了,我是否可以通过某种方式创建可执行文件?这需要将其与 V8 链接起来吗?
考虑到这个问题,我找到了以下引用:
V8 可以独立运行,也可以嵌入任何 C++ 应用程序中。
这里:http://code.google.com/p/v8/。