JavaScript是用什么语言编写的?
如果它是一个脚本语言,顾名思义,它必须用低级语言编写的权利? 就像PHP是如何用C语言编写的?
Javascript只是一个标准,更正式地被称为ECMAScript 。 就像任何标准一样,它可以用任何语言来实现。
Chrome的Javascript引擎V8是用C ++编写的。
从项目页面:
V8是用C ++编写的,用在Google的开源浏览器Google Chrome中。
V8按照ECMA-262第5版中的规定实现ECMAScript,并且可以在Windows(XP或更新版本),Mac OS X(10.5或更新版本)以及使用IA-32,x64或ARM处理器的Linux系统上运行。
Firefox的Javascript引擎, SpiderMonkey (现在TraceMonkey)也是用C ++编写的。 正如下面的maerics所说, Rhino是用Java编写的。
到目前为止所有答案都是正确的,但是由于还没有提到,所以JavaScript可以用JavaScript编写 。
大多数Javascript解释器是用C / C ++(V8,Nitro等)编写的,但是可以用任何语言编写兼容的解释器(Rhino→Java, Interpreter →Javascript等)。
Javascript是ECMAScript标准的一个实现,但是没有象PHP那样的单一规范的解释器。
出于性能原因,大多数主要实现(独立或作为Web浏览器的一部分)往往主要用C或C ++编写,但事实并非总是如此。 由Mozilla维护的引擎Rhino是用Java编写的。
客户端浏览器JavaScript解释器是用哪种语言编写的:)
大多数Javascript的实现显示行为,明显是由于使用指针和byrefparameter passing引起的,这通常指向使用C或C ++
这显然是值得注意的,例如当你在一个循环中拆分一个multidimensional array时,在中间数组的帮助下。 如果你不熟悉指针和parameter passing(你每次需要做var hlp = new Array(),或者它会覆盖你已经存储在其他地方的以前的值),这些往往performance得非常“奇怪”
我很好奇,在Java中如何实现JavaScript,因为我认为这种行为在这种情况下会有很大的不同呢?