Десять заповедей JavaScript, которые должен знать каждый создатель сценариев
Статьи / JavaScript /
Назад
Изучение JavaScript может оказаться сложной задачей. Все основы объединены в 10 "заповедей". Они призваны оказать помощь при овладении JavaScript. Перед началом работы с языком внимательно изучите их.
JavaScript можно внедрить в HTML
Программы JavaScript обычно заключены в HTML-документах, и выполняются в них же. Большинство объектов JavaScript представлены соответствующими дескрипторами HTML, поэтому код находится на уровне клиентской части языка. Чтобы стать настоящим разработчиком на JavaScript, следует досконально изучить HTML.
HTML используется в JavaScript как мостик к тому, что называется средой разработки Web-приложений. Возможности HTML расширяются за счет обеспечения дескрипторов HTML событиями и организации управляемой событиями среды выполнения.
JavaScript зависит от среды
JavaScript — язык сценариев, а не инструмент. Программное обеспечение, собственно выполняющее код на JavaScript, — это механизм интерпретации внутри среды, к которым относятся браузеры Netscape Navigator, Microsoft Internet Explorer, a также один из серверных механизмов. После включения в документы HTML JavaScript начинает зависеть от браузера. Если же поддержка со стороны браузера отсутствует, тогда ваш код выполняться не будет. Более того, если проблема поддержки браузером решена не будет, код просто высветится на странице как текст.
Очень важно помнить об этой взаимосвязи, если необходимо использовать JavaScript для создания приложений. Будет ли принято во внимание, что потребуется браузер, поддерживающий JavaScript? Если так, то будет ли организовано уведомление пользователей об этом? Будет ли создаваться версия, не использующая JavaScript? При разработке приложений на JavaScript потребуется ответить на все эти вопросы.
Сразу же после своего появления фреймы оказались новинкой. Их можно было просматривать только с помощью Netscape Navigator 2.0. Авторы HTML должны были решить, как использовать фреймы и что делать в случае, когда браузер их не поддерживает. Их популярность существенно возросла в результате поддержки компанией Microsoft в internet Explorer 3.0, после чего фреймы стали частью стандарта HTML 4. При использовании HTML 4 вам обеспечивается браузер, поддерживающий фреймы.
К счастью разработчиков JavaScript, это та же поддержка, что и для JavaScript. Netscape Navigator 2.x, после — Microsoft Internet Explorer 3.x, затем — Opera 3.x, а потом — 95% существующих браузеров, поддерживают JavaScript. Если" данная тенденция будет и дальше развиваться, то зависимость от браузеров станет менее значительной.
JavaScript - интерпретируемый язык
Как и большинство языков сценариев, JavaScript интерпретируется браузером. JavaScript не компилируется в бинарный код наподобие .ехе, но все же остается частью документа HTML. Недостаток интерпретируемого языка — для выполнения кода затрачивается много времени, поскольку браузер компилирует директивы во время выполнения. Однако есть и преимущество — можно легко и быстро усовершенствовать исходный код. Не надо переживать по поводу старых версий сценариев JavaScript. Если вы замените их в исходном документе HTML, то новый код будет выполняться при каждом получении пользователем доступа к документу.
Небольшая оговорка: разработка на JavaScript, характерная для Netscape, на стороне сервера потребует компиляции всех файлов JavaScript и HTML в байт-код, сохраняемый в файлах .web.
JavaScript - слабо типизированный язык
JavaScript отличается от типизированных языков, таких как Java и C++, которые требуют объявления всех переменных определенных типов перед началом их использования. JavaScript, наоборот, очень гибок. Вы не обязаны объявлять переменные специального типа. Если специальный тип вам неизвестен, то можно работать с переменной. Последнее утверждение иллюстрируется фрагментом кода. Например, требуется объявить переменную myVal, присвоить ей строковое значение и отобразить ее в окне сообщений. Можно воспользоваться следующим кодом:
function flexible () {
var myVal
mVal = "Pi"
alert (myVal)
}
Хотя явное объявление переменных и отражает хороший тон программирования, вовсе не обязательно проделывать это. Следующий код, прекрасно функционирующий в JavaScript, окажется просто немыслимым в типизированных языках.
function flexible () {
mVal = "Pi"
alert (myVal)
}
Следующий пример продемонстрирует всю гибкость языка JavaScript — можно изменить тип значения, представляемого переменной. Например, переменная myVal в процессе выполнения функции изменяет строковое значение на численное:
function flexible () {
var myVal = "Pi"
alert {myVal}
myVal = 3.14159
alert (myVal) }
Javascript - объектно-ориентированный язык
Netscape и другие компании отнесли JavaScript к объектно-ориентированным языкам (OOP — object-oriented programming). JavaScript действительно является объектно-ориентированным языком.
Вы работаете с объектами, которые инкапсулируют данные (свойства) и поведение (методы). (Если вы уже пользовались точечной нотацией, скажем, в Visual Basic, Java или Delphi, вам не составит особого труда овладеть JavaScript.) Однако, хоть и можно работать с объектами, их невозможно разделить на подклассы. Объектная модель JavaScript основывается на экземплярах, а не на концепции наследования.
JavaScript - язык, управляемый событиями
Большинство составленных кодов будет отвечать на события, генерируемые пользователем или системой. Язык JavaScript обладает поддержкой обработки событий. HTML-объекты, подобные кнопкам и текстовым полям, усовершенствованы с целью поддержки обработчиков событий. При переходе к JavaScript из Java иди Visual Basic, эта управляемая событиями среда является второй натурой. При переходе от процедурной среды, от среды нисходящего проектирования, потребуются отдельные знания, связанные с управлением событиями.
JavaScript - это не Java
Java и JavaScript разрабатывались разными компаниями. Основная причина сходства имен кроется в маркетинговых соображениях.
Во-первых, JavaScript тесно интегрирован в HTML, a Java-аплеты всего лишь связываются с HTML-документами через дескриптор <applet>. Сам же аплет хранится в другом файле, загружаемом из сервера.
Во-вторых, Java — более надежный и функционально полный язык, т.к. ему присущи свойства наподобие строгого контроля типов, объектной ориентации и наличию компилятора. Если Java предназначен для создания аплетов и независимых приложений, то JavaScript — исключительно для написания сценариев.
Синтаксис JavaScript напоминает синтаксис Java. Если вы привыкните к управляющим структурам JavaScript, можете считать, что первый шаг к овладению Java уже сделан.
JavaScript - многофункциональный язык
JavaScript — многоаспектный язык, который может применяться в различных контекстах для решения проблем, связанных с Web. Немного дальше в этой главе рассматриваются сферы применения JavaScript. Основные цели, достигаемые при помощи JavaScript:
-
Усовершенствование и оживление статических HTML-страниц с помощью
спецэффектов, анимации и баннеров.
-
Проверка данных без передачи на сервер.
-
Получение основы для разработки Web-приложений типа клиент-сервер.
-
Разработка клиентских приложений.
-
"Сращивание" со стороны клиента HTML-объектов, Java-аплетов, элементов
управления ActiveX и подключаемых модулей Netscape.
-
Получение расширения к Web-серверу.
-
Моделирование связи с базами данных без использования CGI.
JavaScript - развивающийся язык
Ранее упоминалось, насколь современен JavaScript как технология. Учитывая резкие перемены в Web, несложно понять, что JavaScript продолжает свое развитие в качестве языка. При разработке приложений JavaScript требуется думать не только о том, поддерживает ли тот или иной браузер JavaScript, но еще и о том, какое именно подмножество языка. Не мудрено попасть в безвыходную ситуацию, поскольку количество версий перешло всякие мыслимые пределы: JavaScript — 6 версий (1.0—1.5), JScript — огромное количество версий (1.0—5.5 и еще несколько версий наподобие х.х.х).
Сферы использования JavaScript
Стоит еще раз напомнить: JavaScript — язык, а не инструмент. Поскольку это — язык сценариев, его можно применять в широком диапазоне приложений. Если рассматривать JavaScript в контексте разработки Web-страниц, то в большинстве своем применение касается клиентской части. На стороне сервера JavaScript применяется в средах Netscape Enterprise Server и Microsoft Active Server Pages. Он является родным языком в наборах инструментальных средств для разработки Web-страниц, таких как Borland Intra Builder, Macromedia Dreamweaver (начиная со вторрй версии). Не следует думать, что JavaScript — исключительно клиентский язык сценариев. Новейшие версии Microsoft Windows поддерживают JavaScript на рабочем столе, вместе со средой Window Script Host (WSH).
Источник "JavaScript в примерах"