JavaScript

Материал из Википедии — свободной энциклопедии

(Перенаправлено с Java Script)
Перейти к: навигация, поиск
JavaScript
Семантика:
Класс языка:
Тип исполнения: интерпретируемый
Появился в: 1995 г.
Автор(ы): Брендан Эйк
Последняя версия: {{{latest_release_version}}}
Тестовая версия: {{{latest_test_version}}}
Типизация данных:
Основные реализации: SpiderMonkey, Rhino, KJS (JavaScript) (англ.), JavaScriptCore
Диалекты: JScript, ActionScript, JScript .NET
Создан под влиянием: Self, …
Оказал влияние на:

JavaScriptскриптовый язык, чаще всего использующийся при создании сценариев поведения браузера, встраиваемых в веб-страницы. Является одной из реализаций языка ECMAScript.

Название «JavaScript» является зарегистрированным товарным знаком компании Sun Microsystems, Inc.

Содержание

[править] История

Разработанный компанией Netscape, язык был включён в браузер Netscape Navigator начиная со второй версии и первоначально назывался LiveScript. Синтаксис языка брал начало от языков Си и Java, и, поскольку технология Java была в то время очень модной, LiveScript переименовали в JavaScript, получив соответствующую лицензию у Sun. Компания Microsoft, увидев успех JavaScript, создала свою версию этого языка под названием JScript. Прочие производители браузеров также создали свои версии этого языка, что делает задачу написания сложного универсального (совместимого с любым браузером) скрипта довольно трудной. Для решения проблем совместимости ассоциация ECMA предложила стандарт ECMA-262. По возможностям ECMAScript примерно соответствует JavaScript 1.1.

[править] Область применения языка

JavaScript в данный момент полностью занимает нишу браузерных языков. Несмотря на то, что по слухам некоторые разработчики браузеров встраивают (или уже встроили) в дополнение к JavaScript-у такой язык как Python, для динамического изменения веб-страниц на стороне клиента, официальной информации по этому вопросу нет.

JavaScript также находит применение в качестве скриптового языка доступа к объектам приложений. Платформа Mozilla (XUL/Gecko) использует JavaScript. Среди сторонних продуктов, например, Java, начиная с версии 6, содержит встроенный интерпретатор JavaScript на базе Rhino. Сценарии JavaScript поддерживаются в таких приложениях Adobe, как Adobe Photoshop, Adobe Dreamweaver или Adobe Illustrator.

[править] О языке

JavaScript обладает рядом свойств объектно-ориентированного языка, но благодаря прототипированию поддержка объектов в нём отличается от традиционных ОО языков. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого уровня, объекты как списки, карринг (currying), анонимные функции, замыкания (closures) — что придаёт языку дополнительную гибкость.

JavaScript имеет C-подобный синтаксис, но по сравнению с языком Си имеет следующие коренные отличия:

Семантика языка сходна с семантикой языка Self.

Пример объявления и использования класса в JavaScript (класс является одновременно функцией, так как функции — это объекты первого уровня):

 function MyClass()
 {
   this.myValue1 = 1;
   this.myValue2 = 2;
 }
 
 var mc = new MyClass();
 mc.myValue1 = mc.myValue2 * 2;

Одна из популярных технологий, позволившая сделать страницы более динамическими и обеспечить новые возможности — это динамическая загрузка и вставка данных в документ, получившая название AJAX.

[править] Использование в HTML

JavaScript-код включается в HTML-код страницы и исполняется интерпретатором, встроенным в браузер. JavaScript заключается в теги <script></script> с обязательным по спецификации HTML 4.01 атрибутом type="text/javascript", хотя в большинстве браузеров язык сценариев по умолчанию именно JavaScript.

Скрипт, выводящий модальное окно с классической надписью «Hello, World!» внутри браузера:

<script type="text/javascript">
  alert('Hello, World!');
</script>

Следуя концепции интеграции JavaScript в существующие системы, браузеры поддерживают включение скрипта, например, в значение атрибута события:

 <a href="delete.php" onclick="return confirm('Вы уверены?');">Удалить</a>

Здесь при нажатии на ссылку функция confirm('Вы уверены?'); вызывает модальное окно с надписью «Вы уверены?», а return false; блокирует переход по ссылке. Разумеется, этот код будет работать только если в браузере есть и включена поддержка JavaScript, иначе переход по ссылке произойдет без предупреждения.

Есть и третья возможность подключения JavaScript — написать скрипт в отдельном файле, а потом подключить его с помощью конструкции

<script type="text/javascript" src="http://Путь_к_файлу_со_скриптом"></script>

[править] Версии

JavaScript JScript ECMAScript
1.0 (Netscape 2.0, март 1996) 1.0 (ранние версии IE 3.0, август 1996)
1.1 (Netscape 3.0, август 1996) 2.0 (поздние версии IE 3.0, январь 1997)
1.2 (Netscape 4.0, июнь 1997)
1.3 (Netscape 4.5, октябрь 1998) 3.0 (IE 4.0, октябрь 1997) Редакция 1 (июнь 1997) / редакция 2 (июнь 1998)
1.4 (только Netscape Server) 4.0 (Visual Studio 6, нет версии IE)
5.0 (IE 5.0, март 1999)
5.1 (IE 5.01)
1.5 (Netscape 6.0, ноябрь 2000; также
поздние версии Netscape и Mozilla)
5.5 (IE 5.5, июль 2000) Редакция 3 (декабрь 1999)
5.6 (IE 6.0, октябрь 2001)
1.6 (Gecko 1.8, Firefox 1.5, ноябрь 2005) Редакция 3 с некоторыми совместимыми улучшениями: E4X, дополнения к Array (например, Array.prototype.forEach), упрощения для Array и String [1](англ.)
1.7 (Gecko 1.8.1, Firefox 2.0, осень 2006), расширение JavaScript 1.6 Редакция 3, с добавлением всех улучшений из JavaScript 1.6, генераторов и списочных выражений (list comprehensions, [a*a for (a in iter)]) из Python, блоковых областей с использованием let и деструктурирующего присваивания (var [a,b]=[1,2]) [2](англ.)
JScript .NET (ASP.NET; нет версии IE) (Считается, что JScript .NET разработан при участии других членов ECMA)
2.0 (старое предложение Netscape) Редакция 4 (в разработке)

[править] См. также

[править] Ссылки

[править] Литература

  • Томас Пауэлл, Фриц Шнайдер Полный справочник по JavaScript = JavaScript The Complete Reference. — 2-е изд. — М.: «Вильямс», 2007. — С. 960. — ISBN 0-07-225357-6
  • Кристиан Уэнц JavaScript. Карманный справочник = JavaScript Phrasebook. — М.: «Вильямс», 2007. — С. 272. — ISBN 0-672-32880-1


Источник — «http://ru.wikipedia.org/wiki/JavaScript»