如果它是一种脚本语言,顾名思义它必须用较低级别的语言编写吗?就像用PHP编写PHP一样,用什么语言编写JavaScript?
答案 0 :(得分:92)
Javascript只是一种标准,更正式地称为ECMAScript。它可以用任何语言实现,就像任何标准一样。
Chrome的Javascript引擎 V8 是用C ++编写的。
从项目页面:
V8是用C ++编写的,用于Google Chrome中的开源浏览器。
V8按照ECMA-262,第5版和第5版的规定实施ECMAScript 在Windows(XP或更高版本),Mac OS X(10.5或更高版本)和Linux上运行 使用IA-32,x64或ARM处理器的系统。
Firefox的Javascript引擎SpiderMonkey(现在是TraceMonkey)也是用C ++编写的。正如下面的maerics所说,Rhino是用Java编写的。
答案 1 :(得分:23)
到目前为止所有答案都是正确的,但由于尚未提及,JavaScript can be written in JavaScript。
答案 2 :(得分:10)
大多数Javascript解释器都是用C / C ++(V8,Nitro等)编写的,但是兼容的解释器可以用任何语言编写(Rhino→Java,Interpreter→Javascript等等。)。
答案 3 :(得分:5)
客户端webbrowsers javascript解释器所用的语言是:)
答案 4 :(得分:5)
Javascript是ECMAScript标准的一个实现,但是没有像你在PHP中看到的那样单一的规范解释器。
出于性能原因,大多数主要实现(独立或作为Web浏览器的一部分)往往主要用C或C ++编写,但并非总是如此。由Mozilla维护的引擎Rhino是用Java编写的。
答案 5 :(得分:3)
Javascript的大多数实现显示的行为显然是由使用指针和byref参数传递引起的,这通常指向使用C或C ++
这显然是值得注意的,例如当你在中间数组的帮助下拆分循环中的多维数组时。如果你不熟悉指针和参数传递参数(你需要每次都做var hlp = new Array(),或者它会覆盖你已存储在其他地方的先前值),这些行为往往表现得非常“奇怪”。 p>
我对如何在Java中实现javascript感到好奇,因为我想在这种情况下这种行为会有很大的不同?
答案 6 :(得分:1)
SELECT p.Product
FROM TableName
WHERE Region BETWEEN 10 AND 20 AND ISO=True
是现代和奇特事物的基本语言。大多数现代高级语言都是低级语言的子集C++
。您今天看到的所有现代语言都是C++
的子集。甚至C++
都是Java
的子集。