Мобильная версия
Электронная библиотека
Программисту веб-дизайнеру
Другие материалы
Ядро JavaScript 1.5. Руководство по Использованию
В этой главе содержится введение в JavaScript, обсуждаются некоторые фундаментальные положения и новые возможности релиза 1.5.
В главе имеются следующие разделы:
Что Такое JavaScript?
JavaScript это созданный фирмой Netscape межплатформенный объектно-ориентированный язык скриптинга (сценариев). JavaScript это небольшой компактный язык; он не используется для создания самостоятельных приложений, а разработан специально для упрощенного внедрения в другие приложения и продукты, такие как web-браузеры. Находясь внутри рабочей среды-хозяина, JavaScript может подключаться к объектам этой среды для предоставления программного управления ими.
Ядро JavaScript содержит набор основных объектов, таких
как Array, Date и Math, и основной набор элементов языка, таких как операции,
управляющие структуры и операторы. Ядро JavaScript может быть расширено для
различных целей путем дополнения его новыми объектами; например:
Посредством функциональности LiveConnect, Вы можете осуществлять взаимодействие кодов Java и JavaScript. Из JavaScript Вы можете инстанциировать Java-объекты и получать доступ к их public-методам и полям. Из Java Вы можете иметь доступ к объектам, свойствам и методам JavaScript.
Netscape изобрела JavaScript, и JavaScript был впервые использован в браузерах Netscape.
JavaScript и Java
В отличие от системы времени компиляции классов Java, построенной на объявлениях, JavaScript поддерживает систему времени выполнения на базе небольшого количества типов данных: числовых, Булевых и строковых значений. JavaScript имеет объектную модель на базе прототипов, а не на более привычной базе классов. Модель на базе прототипов предоставляет динамическое наследование; то есть то, что наследуется, может отличаться для каждого конкретного объекта. JavaScript также поддерживает функции без каких-либо требований к их объявлению. Функции могут быть свойствами объекта, выполняя свободно типизированные методы.
JavaScript является очень свободным языком по сравнению с Java. Вы не должны объявлять все переменные, классы и методы. Вы не должны заботиться о том, какие методы являются public, private или protected, и не должны реализовывать интерфейсы. Значения, возвращаемые переменными, параметрами и функциями, не типизированные явно.
Java является языком программирования на базе классов, разработанным для быстрого выполнения и безопасности типов. Безопасность типов означает, к примеру, что Вы не можете привести Java integer к ссылке на объект или получить доступ к private-памяти, нарушив байтовый код Java. Модель Java на базе классов означает, что программы состоят исключительно из классов и их методов. Наследование классов Java и строгая типизация в целом требуют тесно связанной иерархии объектов. Эти требования делают язык Java более сложным, чем JavaScript.
В противоположность этому, JavaScript по духу и сути ведет свое происхождение от линии компактных, динамически типизируемых языков, таких как HyperTalk и dBASE. Эти языки скриптинга предоставляют утилиты программирования для более широкой аудитории, поскольку имеют упрощенный синтаксис, специализированную встроенную функциональность и минимальные требования при создании объектов.
Таблица 1.1 JavaScript в Сравнении с Java
JavaScript
Java
Объектно-ориентированный. Нет различий между типами объектов. Наследование осуществляется через механизм прототипов, и свойства и методы могут добавляться к объекту динамически.
На базе классов. Объекты поделены на классы и экземпляры с наследованием по всей иерархии классов. Классы и экземпляры не могут иметь динамически добавляемые свойства и методы.
Типы данных переменных не объявляются (динамическая типизация). --- Типы данных переменных обязаны быть объявлены (статическая типизация).
Не может автоматически записывать на жесткий диск. --- Не может автоматически записывать на жесткий диск.
Дополнительную информацию об различиях между JavaScript и Java см. в Главе 8, "Объектная Модель. Детали.".
JavaScript и Спецификация ECMA
Netscape изобрела JavaScript, и JavaScript был впервые использован в браузерах фирмы Netscape. Но Netscape работает совместно с ECMA (European Computer Manufacturers Association/Европейская Ассоциация Производителей Компьютеров) для создания стандартизованного международного языка программирования на базе ядра JavaScript. ECMA является ассоциацией международных стандартов в области информации и систем коммуникации. Стандартизованная версия JavaScript, называемая ECMAScript, ведет себя совершенно одинаково во всех приложениях, поддерживающих этот стандарт. Компании могут использовать этот открытый стандартный язык для разработки своих реализаций JavaScript. Первая версия стандарта ECMA задокументирована в спецификации ECMA-262.
Стандарт ECMA-262 также одобрен ISO (International Organization for Standards) как ISO-16262. Вы можете найти PDF-версию ECMA-262 на web-сайте Mozilla. Вы можете также найти эту спецификацию на web-сайте ECMA. Спецификация ECMA не описывает Document Object Model (DOM), которая стандартизована консорциумом World Wide Web Consortium (W3C). DOM определяет способ, которым объекты HTML-документа экспонируются в Вашем скрипте.
Соотношение Между Версиями JavaScript и ECMA
Netscape тесно сотрудничает с ECMA для создания спецификации ECMA. В следующей таблице описаны соотношения между версиями JavaScript и ECMA.
Таблица 1.2  Версии JavaScript и ECMA
Версия JavaScript
Соотношение с Версией ECMA
JavaScript 1.1 --- ECMA-262, Edition 1 базируется на JavaScript 1.1.
JavaScript 1.2 ---
ECMA-262 не была завершена, когда появилась версия JavaScript 1.2.
JavaScript 1.2 не полностью совместима с ECMA-262, Edition 1 по следующим причинам:
JavaScript 1.3 --- JavaScript 1.3 полностью совместим с ECMA-262, Edition 1.
JavaScript 1.4 --- JavaScript 1.4 полностью совместим с ECMA-262, Edition 1.
Третья версия спецификации ECMA была не закончена, когда JavaScript 1.4 вышел в свет.
JavaScript 1.5 --- JavaScript 1.5 полностью совместим с ECMA-262, Edition 3.
ECMA-262, Edition 2 содержал незначительные редакторские поправки и исправления спецификации Edition 1. Рабочая группа TC39 ECMA работает в настоящее время над ECMAScript Edition 4, которая соответствует будущей версии JavaScript - JavaScript 2.0.
Книга Ядро JavaScript. Справочник. указывает, какие возможности языка совместимы с ECMA.
JavaScript всегда будет содержать возможности, не вошедшие в спецификацию ECMA; JavaScript совместим с ECMA, предоставляя, в то же время, дополнительные возможности.
Документация JavaScript и Спецификация ECMA
Спецификация ECMA это набор требований по реализации ECMAScript; она необходима, если Вы хотите убедиться, что данная возможность JavaScript поддерживается ECMA. Если Вы планируете писать код JavaScript, использующий только поддерживаемые ECMA возможности, то Вам, возможно, понадобится просмотреть и спецификацию ECMA.
Документ ECMA не предназначен для помощи программистам - создателям скриптов; для получения информации о написании скриптов используйте документацию JavaScript.
JavaScript и Терминология ECMA
В спецификации ECMA используется терминология и синтаксис, которые могут быть незнакомы JavaScript-программисту. Хотя описание языка в ECMA может отличаться, сам язык остается тем же самым. JavaScript поддерживает всю функциональность спецификации ECMA.
В документации JavaScript описаны аспекты языка, которые
нужны программисту на JavaScript. Например:
Новые Возможности в Этой Версии
JavaScript версии 1.5 содержит следующие новые возможности и улучшения: