На каком языке написан JavaScript?


Если это язык сценариев, как следует из названия, он должен быть написан на языке более низкого уровня, верно? Например, как PHP написан на C на каком языке написан JavaScript?

6   51   2011-08-10 07:58:41

6 ответов:

Javascript-это просто стандарт, более Формально известный как ECMAScript. Он может быть реализован на любом языке, как и любой стандарт.

движок Javascript Chrome, V8, написано на C++.

со страницы проекта:

V8 написан на C++ и используется в Google Chrome, браузере с открытым исходным кодом от Google.

V8 реализует ECMAScript, как указано в ECMA-262, 5-е издание, и работает на Windows (XP или новее), Mac OS X (10.5 или новее) и Linux системы, использующие процессоры IA-32, x64 или ARM.

движок JavaScript Firefox,SpiderMonkey (и теперь TraceMonkey) также написан на C++. И как сказал маэрик ниже,носорог написано на Java.

все ответы до сих пор верны, но так как это еще не было упомянуто, JavaScript может быть написан на JavaScript.

большинство интерпретаторов Javascript написаны на C / C++ (V8, Nitro и т. д.), Однако совместимый интерпретатор может быть написан на любом языке (Rhino→Java,переводчик→Javascript и т. д.).

на каком бы языке ни был написан интерпретатор javascript webbrowsers клиента:)

Javascript является реализацией ECMAScript стандартный, но нет единственного канонического интерпретатора, как вы видите с PHP.

большинство основных реализаций (автономных или как части веб-браузеров) там, как правило, в основном написаны на C или C++ по соображениям производительности, но это не всегда так. Rhino, движок, поддерживаемый Mozilla, написан на Java.

большинство реализаций Javascript показывают поведение, которое явно вызвано использованием указателей и передачей параметров byref, что обычно указывает на использование C или C++

Это явно заметно, например, когда вы разбираете многомерный массив в цикле с помощью промежуточного массива. они, как правило, ведут себя очень "странно", если вы не знакомы с указателями и передачей параметров byref (вам нужно сделать var hlp = new Array () каждый раз или он будет перезаписывать предыдущие значения, которые вы уже сохранили где-то еще)

Мне довольно любопытно, как реализация javascript, например, в Java, потому что я предполагаю, что в этом случае такое поведение будет совсем другим?