JavaScript是用什么语言编写的?

What language is JavaScript written in?

本文关键字:语言 什么 JavaScript      更新时间:2023-09-26

如果它是一种脚本语言,正如它的名字所暗示的那样,它必须用较低级别的语言编写,对吗?比如PHP是用C写的JavaScript是用什么语言写的?

Javascript只是一种标准,更正式地称为ECMAScript。它可以在任何语言中实现,就像任何标准一样。

Chrome的Javascript引擎V8是用c++编写的。

项目页面:

V8是用c++编写的,用于Google Chrome (Google的开源浏览器)。

V8实现了ECMA-262第5版中指定的ECMAScript,并且在Windows (XP或更新版本)、Mac OS X(10.5或更新版本)和Linux上运行使用IA-32、x64或ARM处理器的系统。

Firefox的Javascript引擎SpiderMonkey(现在是TraceMonkey)也是用c++编写的。正如下面的材料所说,Rhino是用Java编写的。

到目前为止所有的答案都是正确的,但由于还没有提到,JavaScript可以用JavaScript编写。

大多数Javascript解释器都是用C/c++ (V8, Nitro等)编写的,但是一个兼容的解释器可以用任何语言编写(Rhino→Java, interpreter→Javascript等)。

无论客户端浏览器的javascript解释器是用哪种语言编写的:)

Javascript是ECMAScript标准的实现,但是没有像PHP那样的单一规范解释器。

出于性能原因,大多数主要的实现(独立的或作为web浏览器的一部分)倾向于主要用C或c++编写,但情况并非总是如此。Rhino是一个由Mozilla维护的引擎,是用Java编写的。

大多数Javascript实现显示的行为显然是由使用指针和byref参数传递引起的,这通常指向使用C或c++

当你在循环中分解一个多维数组时,在中间数组的帮助下,这显然是值得注意的。如果您不熟悉指针和参数的byref传递,则这些行为往往非常"奇怪"(您需要每次执行var help = new Array(),否则它将覆盖您已经存储在其他地方的先前值)

我很好奇如何实现javascript在例如Java,因为我想这种行为将是完全不同的情况下?

C++是任何现代和奇特的基础语言。大多数现代高级语言都是低级语言C++的子集。你今天看到的所有现代语言都是C++的子集。甚至JavaC++的子集