This article is in need of an editorial review.
Что такое JavaScript?
JavaScript® — это объектный скриптовый язык, разработанный компанией Netscape, который используется миллионами веб-страниц и серверных приложений по всему миру. JavaScript является расширением языка ECMA-262 Edition 3 (ECMAScript) с небольшими отличиями от опубликованного стандарта.
Вопреки распространенному мнению, JavaScript не является "интерпретируемым Java". JavaScript — это динамический скриптовый язык, поддерживающий прототипное создание объектов. Базовый синтаксис намеренно похож на Java и C++, чтобы уменьшить число новых концепций, необходимых для изучения языка. Такие языковые конструкции, как if, for, while, switch, try ... catch похожи на конструкции этих языков.
JavaScript может функционировать и как процедурный, и как объектно-ориентированный язык. В отличие от синтаксических определений классов в компилируемых языках, таких как С++ или Java, в JavaScript объекты могут быть созданы программно во время выполнения. После того, как объект был создан, он может быть использован в качестве чертежа (или прототипа) для создания похожих объектов.
Динамические возможности JavaScript включают: создание объектов во время выполнения, переменное число параметров, динамическое создание скриптов (с помощью eval), интроспекция объектов (с помощью for ... in), восстановление исходного кода (программы на JavaScript могут декомпилировать тела функций обратно в исходный код).
Встроенные объекты: Number, String, Boolean, Date, RegExp и Math.
Какие реализации JavaScript доступны?
mozilla.org хостит две реализации JavaScript. Самая первая реализация JavaScript была создана Бренданом Эйхом (Brendan Eich) в компании Netscape, и с тех пор обновляется, чтобы соответствовать ECMA-262 Edition 5 и более поздним версиям. Этот движок называется SpiderMonkey и реализован на языке C. Движок Rhino создан Норрисом Бойдом (Norris Boyd) и реализован на языке Java. Как и SpiderMonkey, Rhino соответствует ECMA-262 Edition 3.
Несколько оптимизаций, таких как TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) и IonMonkey, были добавлены в SpiderMonkey со временем.
Кроме вышеприведенных существуют и другие популярные реализации:
- Google's V8, используемый в браузерах Google Chrome и последних версиях Opera.
- JavaScriptCore (SquirrelFish/Nitro), используемый в WebKit браузерах, например, в Apple Safari.
- Carakan используется в старых версиях Opera.
- Chakra используется в Internet Explorer (язык, который реализует данный движок, называется JScript, чтобы избежать проблем с авторскими правами).
Каждый движок mozilla.org предоставляет публичный API, который может быть использован приложениями для поддержки JavaScript. Однако, наиболее распространенной средой для JavaScript являются веб-браузеры. Веб-браузеры обычно используют публичный API для создания 'host objects', отражающих DOM в JavaScript.
JavaScript также применяется как скриптовый язык на стороне сервера. JavaScript сервер предоставляет 'host objects', представляющие объекты HTTP запрос/ответ, которые могут быть использованы программой на JavaScript для динамической генерации веб-страниц.
Ресурсы по JavaScript
- SpiderMonkey
- SpiderMonkey — это интерпретатор языка JavaScript, написанный на языке C.
- Rhino
- Rhino — это интерпретатор языка JavaScript, написанный на языке Java.
- Стандарты ECMAScript
- ECMAScript — это язык программирования, лежащий в основе JavaScript.
- Повторное введение в JavaScript
- Руководство и справочник по JavaScript.

