【问题标题】:Is JavaScript interpreted or JIT compiled?是 javascript 解释还是 jit 编译
【发布时间】:2016-11-19 12:49:54
【问题描述】:

我是编程新手。我正在关注关于 javascript 的教程。但我对 jit 编译器和解释器感到困惑。 javscript 是否从源代码转换为字节/本机代码。使用 jit 编译器还是解释器?或者取决于您正在运行的浏览器和 javascript 引擎。

感谢您的回复

【问题讨论】:

标签: javascript browser interpreter jit javascript-engine


【解决方案1】:

Javascript是一种解释型语言,浏览器直接解释执行。

但是,现代浏览器支持 JIT 编译,将其转换为字节码以获得高性能。

【讨论】:

    【解决方案2】:

    JavaScript 是脚本语言,浏览器正在执行文本格式的脚本。因此,根据定义,这使得 JavaScript 成为解释语言。

    编译语言是从二进制文件执行的语言。

    JIT 编译只是 JavaScript 引擎可以做的一种优化方式,但你永远不会真正生成二进制 JS 文件,所以语言是解释的。

    【讨论】:

    • 虽然“interpeted language”的含义是主观的,但我倾向于使用 Wikipedia:“解释语言是一种编程语言,它的大多数实现直接执行指令,无需事先编译将程序转换为机器语言指令”。由于最流行的 JavaScript 引擎编译为本机机器码,我不同意你的回答。恕我直言,“解释语言”是荒谬的,因为您可以为任何语言编写解释器。
    • 这有点意思,我只是倾向于让它更实用,如果它是脚本语言,那么它会被解释。并且在 javascript 的情况下它并不那么简单,因为有很多 enignes,甚至那些使用 jit 的人也不总是使用它。 docs.google.com/document/d/…
    猜你喜欢
    • 2011-07-01
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    相关资源
    最近更新 更多