Назад Оглавление Индекс Вперёд |
Ядро JavaScript 1.5. Руководство по Использованию. |
В этой главе содержится введение в JavaScript, обсуждаются некоторые фундаментальные положения и новые возможности релиза 1.5.
В главе имеются следующие разделы:
JavaScript это созданный фирмой Netscape межплатформенный объектно-ориентированный язык скриптинга (сценариев). JavaScript это небольшой компактный язык; он не используется для создания самостоятельных приложений, а разработан специально для упрощенного внедрения в другие приложения и продукты, такие как web-браузеры. Находясь внутри рабочей среды-хозяина, JavaScript может подключаться к объектам этой среды для предоставления программного управления ими.
Ядро JavaScript содержит набор основных объектов, таких
как Array, Date и Math, и основной набор элементов языка, таких как операции,
управляющие структуры и операторы. Ядро JavaScript может быть расширено для
различных целей путём дополнения его новыми объектами; например:
Посредством функциональности LiveConnect, Вы можете осуществлять взаимодействие
кодов Java и JavaScript. Из JavaScript Вы можете инстанциировать Java-объекты и
получать доступ к их public-методам и полям. Из Java Вы можете иметь доступ к
объектам, свойствам и методам JavaScript.
Netscape изобрела JavaScript, и JavaScript был впервые использован в браузерах Netscape.
JavaScript и Java похожи друг на друга, но имеют и фундаментальные отличия. Язык JavaScript похож на Java, не не имеет статической типизации Java и строгой проверки типов. JavaScript поддерживает большую часть расширений синтаксиса Java и базовых конструкций управления потоком.
В отличие от системы времени компиляции классов Java,
построенной на объявлениях, JavaScript поддерживает систему времени выполнения
на базе небольшого количества типов данных: числовых, Булевых и строковых
значений. JavaScript имеет объектную модель на базе прототипов, а не на более
привычной базе классов. Модель на базе прототипов предоставляет динамическое
наследование; то есть то, что наследуется, может отличаться для каждого
конкретного объекта. JavaScript также поддерживает функции без каких-либо
требований к их объявлению. Функции могут быть свойствами объекта, выполняя
свободно типизированные методы.
JavaScript является очень свободным языком по сравнению с Java.
Вы не должны объявлять все переменные, классы и методы. Вы не должны заботиться
о том, какие методы являются public, private или protected, и не должны
реализовывать интерфейсы. Значения, возвращаемые переменными, параметрами и
функциями, не типизированные явно.
Java является языком программирования на базе классов,
разработанным для быстрого выполнения и безопасности типов. Безопасность типов
означает, к примеру, что Вы не можете привести Java integer к ссылке на объект
или получить доступ к private-памяти, нарушив байтовый код Java. Модель Java на
базе классов означает, что программы состоят исключительно из классов и их
методов. Наследование классов Java и строгая типизация в целом требуют тесно
связанной иерархии объектов. Эти требования делают язык Java более сложным, чем JavaScript.
В противоположность этому, JavaScript по духу и сути ведёт
своё происхождение от линии компактных, динамически типизируемых языков, таких
как HyperTalk и dBASE. Эти языки скриптинга предоставляют утилиты
программирования для более широкой аудитории, поскольку имеют упрощённый
синтаксис, специализированную встроенную функциональность и минимальные
требования при создании объектов.
Дополнительную информацию об различиях между JavaScript и
Java см. в Главе 8, "Объектная Модель. Детали.".
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-документа экспонируются в Вашем скрипте.
Netscape тесно сотрудничает с ECMA для создания спецификации ECMA. В следующей таблице описаны соотношения между версиями JavaScript и ECMA.
ECMA-262, Edition 2 содержал незначительные редакторские поправки и исправления спецификации Edition 1. Рабочая группа TC39 ECMA работает в настоящее время над ECMAScript Edition 4, которая соответствует будущей версии JavaScript - JavaScript 2.0.
Книга
Ядро JavaScript. Справочник. указывает, какие возможности языка совместимы с ECMA.
JavaScript всегда будет содержать возможности, не вошедшие
в спецификацию ECMA; JavaScript совместим с ECMA, предоставляя, в то же время, дополнительные возможности.
Спецификация ECMA это набор требований по реализации ECMAScript; она необходима, если Вы хотите убедиться, что данная возможность JavaScript поддерживается ECMA. Если Вы планируете писать код JavaScript, использующий только поддерживаемые ECMA возможности, то Вам, возможно, понадобится просмотреть и спецификацию ECMA.
Документ ECMA не предназначен для помощи программистам -
создателям скриптов; для получения информации о написании скриптов используйте документацию JavaScript.
В спецификации ECMA используется терминология и синтаксис, которые могут быть незнакомы JavaScript-программисту. Хотя описание языка в ECMA может отличаться, сам язык остаётся тем же самым. JavaScript поддерживает всю функциональность спецификации ECMA.
В документации JavaScript описаны аспекты языка, которые
нужны программисту на JavaScript. Например:
JavaScript версии 1.5 содержит следующие новые возможности и улучшения: