当前位置: 首页 > 知识库问答 >
问题:

javascript - JavaScript通常是解释型的,那么请问有编译器把 JavaScript 编译成机器语言的么?

王宜
2023-07-23

JavaScript通常是解释型的,那么请问有编译器把 JavaScript 编译成机器语言的么?

共有1个答案

上官凯歌
2023-07-23

题主可以去了解一下 JIT 即时编译 (Just-In-Time Compilation) 和 AOT (Ahead-of-Time)

虽然 JavaScript 通常被认为是一种解释型语言,但现代的 JavaScript 引擎已经采用了即时编译。这使得 js 代码在运行时可以被动态地编译成机器语言,从而提高其执行速度。

主流浏览器,比如谷歌、火狐、苹果 ( Safari ) 等都是支持的

AOT 一般是 React Native 这些跨端框架会用

参考
Angular 的 AOT 和 JIT 编译模式
Angular 编译器 这个油管的视频,要翻一下才能看
 类似资料:
  • 翻译的结果是什么?它会把高级语言变成汇编语言还是机器语言,即二进制代码? 如果是后者,这是否意味着解释语言与介绍集没有关系? 一种语言只能有一个口译员?是因为解释器不做任何优化,所以我们不需要找到更好的解释器吗?

  • 主要内容:编译型语言,解释型语言,总结通过高级语言编写的源码,我们能够轻松理解,但对于计算机来说,它只认识二进制指令,源码就是天书,根本无法识别。源码要想执行,必须先转换成二进制指令。 所谓二进制指令,也就是由 0 和 1 组成的机器码,能被计算机直接识别并执行。 然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定: 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(比如 W

  • 问题内容: 过去,我使用C 作为编程语言。我知道用C 编写的代码会经过编译过程,直到成为目标代码“机器代码”为止。 我想知道Java在这方面如何工作。用户编写的Java代码如何由计算机运行? 问题答案: Java实现通常使用两步编译过程。Java编译器将Java源代码编译为字节码。字节码由Java虚拟机(JVM)执行。现代JVM使用称为即时(JIT)编译的技术将字节码编译为硬件CPU在运行时即时理

  • 本文向大家介绍简述解释型和编译型编程语言相关面试题,主要包含被问及简述解释型和编译型编程语言时的应答技巧和注意事项,需要的朋友参考一下  

  • 问题内容: 为什么我们说Java是一种编译和解释语言? (编译和解释)这样做有什么好处? 问题答案: Java在编译时被编译为中间的“字节码”。这与像C之类的语言在编译时被编译为机器语言相反。Java字节代码无法像编译的C代码那样直接在硬件上执行。相反,字节码必须在运行时由JVM(Java虚拟机)解释才能执行。像C这样的语言的主要缺点是,当编译该二进制文件时,该二进制文件将仅在一种特定的体系结构(

  • 那么,让我看看我是否明白了这一点。 > 当我们说编译器和解释器之间的区别时,解释器将高级指令翻译成中间形式,然后执行。[我认为编译器也将高级指令翻译成中间形式,但此刻它生成目标代码而不是执行它,对吗?] 解释器一次读取一条指令或一行的源代码,将该行转换为机器代码并执行它。[解释器本身不会将代码转换为机器代码,它会使用ist自己的预编译函数评估指令(在解析之后)。例如,高级语言中的Add表达式将使用