Версии 1.3 и 1.4 языка JavaScript
обладают обратной совместимостью с первой и второй редакциями стандарта.
(Вторая редакция ЕСМА-262 по сравнению с первой содержит лишь
незначительные поправки «косметического» характера). JavaScript 1.5, в свою очередь,
полностью совместим с третьей редакцией ЕСМА-262.
Что касается поддержки JavaScript современными браузерами, то Internet
Explorer версий 5.x и 6.0 обнаруживает совместимость с JavaScript 1.3;
Opera 7.x поддерживает JavaScript 1.4; Opera 8.0 и Firefoxl.O понимают
JavaScript 1.5.
Назначение и ключевые особенности JavaScript
Принципиальное отличие JavaScript от языков, рассмотренных нами ранее —
HTML и CSS — состоит в том, что JavaScript представляет собой самый
настоящий язык программирования.
HTML и CSS не являются таковыми даже в первом приближении. HTML,
будучи языком разметки, выполняет задачи логического структурирования
данных, a CSS описывает, каким образом эти данные должны отображаться на
экране, выводиться на печать, озвучиваться и т. д.
В этом смысле статическая веб-страница мало чем отличается, скажем, от
какого-нибудь письма или договора, сохраненного в формате документа
MS Word.
322 Часть II. Применение веб-технологий стороны клиента для создания сайтов
Программа же в самом общем смысле — это набор команд, предписывающих
компьютеру выполнять те или иные активные действия — например,
осуществлять операции над данными. Так вот, JavaScript позволяет создавать
именно программы.
Разумеется, JavaScript— чрезвычайно простой язык программирования.
В отличие, скажем, от С или C++ (универсальных языков программирования,
при помощи которых создана львиная доля системного и прикладного
программного обеспечения для самых различных компьютерных платформ), он
не позволяет создавать автономный исполняемый код; не предусматривает
возможности управления памятью; не предполагает никаких манипуляций с
файловой системой и т. д. Но всего этого и не требуется от JavaScript —
у него совершенно другие задачи.
JavaScript не предназначен для создания самостоятельных приложений — он
задуман как компактный кроссплатформенный язык, легко интегрируемый в
различные прикладные программные продукты (например, браузеры) с
целью расширения функциональных возможностей последних. Программы,
создаваемые при помощи JavaScript, принято называть сценариями или
скриптами.
JavaScript является объектно-ориентированным языком. К сожалению, ни
строгое определение этого термина, ни наглядную его иллюстрацию
привести здесь не представляется возможным — это требует наличия определенной
фундаментальной подготовки у читателя. Наша книга, тем не менее, ставит
основной своей целью отнюдь не занудное теоретизирование, а постижение
ключевых концепций на практике. Придет время — и сущность языка
JavaScript станет очевидной читателю из практических примеров,
сопровождающих эту главу. Пока же я лишь замечу, что объектно-ориентированный
подход— это одна из наиболее современных и распространенных на
сегодняшний день парадигм программирования.
Следующий тезис для кого-то может стать откровением, но язык JavaScript
как таковой (во всяком случае, на уровне спецификации ЕСМА-262) не
содержит в себе ровным счетом никаких механизмов, позволяющих
взаимодействовать с веб-формами и какими бы то ни было другими элементами
вебстраниц, управлять интерфейсом браузера и т. д.
Этот парадоксальный, казалось бы, факт объясняется предельно просто:
JavaScript может получать доступ к объектам, предоставляемым средой, в
которую тот интегрирован. Но непосредственно в ядре JavaScript такие
объекты не определяются.
Отсюда вытекает два качественно противоположных следствия.
С одной стороны, возможность расширения ядра JavaScript за счет объектной
модели, присущей тому или иному приложению, делает этот язык сценариев
весьма универсальным.
Глава 7. Создание интерактивных сайтов при помощи языка сценариев JavaScript 323
С другой же стороны, неизбежные разногласия, возникающие между
объектными моделями различных браузеров, поддерживающих JavaScript, так или
иначе препятствуют кроссбраузерной совместимости веб-сайтов,
использующих «динамику» на стороне клиента…
Понятие объектной модели документа
и динамического HTML
Факт наличия поддержки языка JavaScript той или иной версии в
определенном браузере ничего не говорит о способностях отображения этим браузером
интерактивных веб-страниц, созданных с применением данного языка.
5th Фев 2011
|
Теги:
|