JavaScript - это объектно-ориентированный язык, который хотя и имеет похожее название, не имеет непосредственного отношения к языку Java. Исходные тексты программ на языке JavaScript, как это уже отмечалось в первой части книги, включаются непосредственно в HTML-документы и интерпретируются браузером на компьютере клиента.
Напомним (см. шестую главу первой части книги), что существуют два способа включения программ на языке JavaScript, называемых часто скриптами, в гипертекстовый документ. При первом из них текст программы размещается непосредственно в самом HTML-файле с помощью тега script:
Второй способ вполне аналогичен включению в гипертекстовые документы ссылок на аплеты.
При этом предполагается, что текст программы размещен в отдельном файле с именем file.js.
Подобно другим языкам программирования JavaScript позволяет использовать переменные, операторы, классы и методы. Основным его достоинством, однако, явлется наличие в нем классов объектов, задающих структуру HTML-страницы, загруженной браузером, и возможность манипуляций с этими объектами. Именно об этих объектах, в основном, и пойдет речь далее.
Напомним, что происходит, когда пользователь сети интернет открывает гипертекстовый документ с помощью браузера:
- текст страницы размещается в памяти компьютера;
- он анализируется и "компилируется";
- отдельные блоки документа размещаются во временной базе данных в соответствии с объектной моделью браузера;
- к этим данным предоставляется доступ различным программам, в частности, рендеру, который и изображает страницу в окне браузера.
Объектами в указанной модели являются элементы рабочей области браузера и теги языка HTML, которые провязаны в иерархическую структуру, называемую объектной моделью браузера:
- window - корневой объект;
- self, window, parent, top - объекты окон;
- navigator - объект, предоставляющий доступ к характеристикам браузера;
- plugins[] - массив объектов Plugin;
- mimeTypes[] - массив объектов MimeType;
- frames[] - массив объектов фреймовой структуры;
- location - объект, содержащий текущий URL;
- history - объект, дающий доступ к истории посещенных ссылок;
- document - объект, содержащий документ целиком;
- forms[] - массив форм;
- elements[] - массив объектов форм HTML (Button, Checkbox, ...)
- anchors[] - массив якорей;
- links[] - массив ссылок;
- images[] - массив изображений;
- applets[] - массив аплетов;
- embeds[] - массив встроенных объектов;
- scripts[] - массив блоков <script></script>
- stylesheets[] - массив объектов с индивидуальными стилями.
- forms[] - массив форм;
Используя язык JavaScript, можно манипулировать как характеристиками браузера, так и визуализируемым в его окне документом. При этом программы на языке JavaScript в значительной степени управляются событиями, примерами которых являются нажатие кнопки или просто перемещение мыши. Каждое событие имеет свой собственный обработчик, которому соответствует определенный объект языка. Вот список наиболее часто используемых событий и обработчиков.
Событие | Объекты | Момент возникновения |
Обработчик |
---|---|---|---|
click | button, radio button, checkboxes, submit button, reset button, links | Пользователь "кликает" элемент формы или ссылку | onClick |
load | body | Страница загружается в браузер | onLoad |
mouseover | links | Пользователь проводит мышь над элементом | onMouseover |
mouseout | links | Пользователь убирает мышь с элемента. Обычно используется в паре с mouseover |
onMouseout |
unload | body | Пользователь переходит к другой странице | onUnload |
Пример
Для того чтобы пользователь при переходе по ссылке из нашего документа на сайт www.site.com увидел некоторое сообщение, разместим в документе следующие строки.
интересный сайт