Перейти к содержимому

Фотография

Javascript

- - - - -

  • Авторизуйтесь для ответа в теме

#1
Joiner

Отправлено 17 2009 - 05:53

Joiner

    Новоприбывший

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

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

История

Разработанный Бренданом Айком из компании Netscape язык был включён в браузер Netscape Navigator начиная с версии 2.0B3 в декабре 1995 г. Первоначально язык назывался Mocha, затем он был переименован в LiveScript. На синтаксис оказали влияние языки Си и Java, и, поскольку технология Java была в то время очень модной, LiveScript переименовали в JavaScript, получив соответствующую лицензию у Sun. Реализация компании Microsoft получила название JScript. Internet Explorer поддерживает JScript, начиная с версии 3.0, выпущенной в августе 1996 г. Стандартизация языка ассоциацией ECMA иниицирована компанией Netscape. Стандартизированная версия имеет название ECMAScript, описывается стандартом ECMA-262. Первая версия данного стандарта примерно соответствовала JavaScript 1.1.

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

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

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

О языке

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>