JavaScript

Содержание

JavaScript — интерпретируемый язык программирования, являющийся одной из реализаций языка ECMAScript и основанный на концепции прототипов, пришедшей из языка Self.

В настоящее время JavaScript используется в основном для создания сценариев поведения браузера, встраиваемых в веб-страницы, но также находит применение в качестве скриптового языка доступа к объектам приложений. Некоторые приложения имеют встроенный интерпретатор JavaScript, позволяющий расширять их возможности без изменения самого приложения. Сама Java, начиная с версии 6, содержит встроенный интерпретатор JavaScript на базе Rhino для поддержки скриптовых языков пользовательскими приложениями.

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

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

История

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

О языке

Синтаксис JavaScript хотя и похож на язык Си, концептуально имеет коренные отличия. Основными чертами JavaScript являются:

Изначально JavaScript был разработан как скриптовый язык для расширения возможностей существующих приложений. В первую очередь он стал хорошо известным и популярным благодаря использованию в браузерах. Однако этот язык широко применяется и в целом ряде других систем и приложений, например Photoshop.

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

Примеры программ

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

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


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

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

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

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

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

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

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

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

Версии

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)
JavaScript 2.0 (старое предложение Netscape) Редакция 4 (в разработке)

См.также

Ссылки



 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home