| CARVIEW |
JavaScript
Материал из Википедии — свободной энциклопедии
| Тип исполнения: |
интерпретируемый |
|---|---|
| Появился в: |
1995 г. |
| Автор(ы): | |
| Основные реализации: |
SpiderMonkey, Rhino, KJS (JavaScript) (англ.), JavaScriptCore |
| Диалекты: | |
| Предки: |
Self, … |
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="https://Путь_к_файлу_со_скриптом"></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 (в разработке) |
[править] См. также
[править] Ссылки
- Стандарт ECMA-262 (англ.) (третье издание; формат PDF)
- Перевод стандарта ECMA-262(русск.)
- Учебник с примерами (русск.)
- Справочник с примерами(англ.)
- Ссылки на ресурсы (англ.)
- Документация от Mozilla (русск.)
- Поддержка JavaScript разными браузерами (англ.)
- Справочник по JavaScript (русск.)
- Введение в JavaScript, Стефан Кох (русск.)
- Быстрый-быстрый JavaScript
- TestCase 2.0 — среда для тестирования приложений на JavaScript (англ.)
[править] Литература
- Томас Пауэлл, Фриц Шнайдер Полный справочник по JavaScript = JavaScript The Complete Reference. — 2-е изд. — М.: «Вильямс», 2007. — С. 960. — ISBN 0-07-225357-6
- Кристиан Уэнц JavaScript. Карманный справочник = JavaScript Phrasebook. — М.: «Вильямс», 2007. — С. 272. — ISBN 0-672-32880-1
| ECMAScript (сравнение) | |
|---|---|
| Диалекты | ActionScript · Caja · JavaScript / LiveScript · JScript · JavaScript OSA · JScript .NET · QtScript |
| Движки ECMAScript | InScript · JavaScriptCore · JScript · KJS · futhark · linear_b · Narcissus · QtScript · Rhino · SpiderMonkey · SunSpider · Tamarin · TraceMonkey · V8 · SquirrelFish |
| Другое | Brendan Eich · Ecma International |
| Основные языки программирования | |
|---|---|
| Используемые в разработке |
ABAP/4 • Ада • ActionScript • Ассемблеры • AutoIt • Awk • BASIC • C • КОБОЛ • C++ • C# • ColdFusion • D • Delphi • Erlang • Eiffel • Forth • FoxPro • Gambas • DataFlex • Фортран • Groovy • Haskell • Java • JavaScript • J++ • J# • Icon • Limbo • Лисп • Lua • MATLAB • Object Pascal • Objective-C • Оберон • Паскаль • Perl • PHP • PL/I • Пролог • Ruby • Python • Tcl • Scheme • Smalltalk • SQL • Vala • Visual DataFlex • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические | |
| Cписок всех языков | |
Просмотры
Личные инструменты
Навигация
Участие
Инструменты
На других языках
- Afrikaans
- العربية
- Žemaitėška
- Беларуская (тарашкевіца)
- Български
- ᨅᨔ ᨕᨘᨁᨗ
- Català
- Česky
- Dansk
- Deutsch
- Ελληνικά
- English
- Esperanto
- Español
- Eesti
- Euskara
- فارسی
- Suomi
- Français
- Galego
- עברית
- हिन्दी
- Hrvatski
- Magyar
- Interlingua
- Bahasa Indonesia
- Íslenska
- Italiano
- 日本語
- ქართული
- ភាសាខ្មែរ
- 한국어
- Lietuvių
- Latviešu
- Македонски
- മലയാളം
- Монгол
- Bahasa Melayu
- Nederlands
- Norsk (bokmål)
- Polski
- Português
- Română
- Simple English
- Slovenčina
- Slovenščina
- Shqip
- Српски / Srpski
- Svenska
- தமிழ்
- Тоҷикӣ
- ไทย
- Türkçe
- Українська
- Tiếng Việt
- 中文
- 粵語
- Последнее изменение этой страницы: 02:43, 18 января 2009.
- Текстовое содержимое доступно в соответствии с GNU Free Documentation License.
- Политика конфиденциальности
- Описание Википедии
- Отказ от ответственности

