JavaScript и объектная модель. - JavaScript - WEB - Каталог статей - Клан программеров
Понедельник, 12.12.2011, 12:02
Приветствую Вас Гость | RSS
JavaScript
JavaScript [5]
JavaScript — скриптовый язык, чаще всего использующийся при создании сценариев поведения браузера, встраиваемых в веб-страницы. Является одной из реализаций языка ECMAScript.
MIME [2]
Multipurpose Internet Mail Extensions (MIME, Multipurpose Internet Mail Extension - Многоцелевые Расширения Почты Интернета) — стандарт, описывающий передачу различных типов данных по электронной почте, либо спецификация для форматирования не-текстовых (не-ASCII) сообщений, чтобы их можно было пересылать по Internet.
Perl [10]
Perl — аббревиатура, которая расшифровывается как Practical Extraction and Report Language (практический язык извлечений и отчётов, отчего сначала язык назывался PEARL, но затем буква «A» «потерялась»).
PHP [2]
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных.
Заработок [1]
Материалы о различных видах заработка в сети: "партнёрки", контекстная реклама, рассылки и т.д.
Форма входа
E-mail:
Пароль:
Поиск
Друзья сайта
Статистика
Главная » Статьи

Всего материалов в каталоге:

JavaScript и объектная модель.

Скриптовые языки в некотором роде перевернули мир, и именно благодаря им появился DHTML, который позволяет делать со страничкой практически что угодно. Как известно, всего два языка претендуют на лавры победителя в броузере. Это VBScript - подмножество Visual Basic-а и JavaScript. Вот последним мы и займемся, как наиболее универсальным.

Сами по себе изучать скриптовые языки не имеет смысла, т.к. они тесно связаны с объектной моделью броузера и, по сути дела, большая часть скриптов просто устанавливает соответствующие свойства объектов или вызывает их методы.

Что такое объектная модель?

Давным-давно, когда броузеры еще имели номер версии равный единице, ничего подобного не было и в помине. Информация просто выводилась на дисплей по мере поступления, не подвергаясь никаким изменениям. Все было просто, и даже глюков совместимости еще не было smile

Сейчас же путь странички до дисплея гораздо дольше. Давайте поэтапно проследим ее путь:

Страничка скачивается с сайта и размещается в памяти компьютера

Производится анализ странички, в результате которого она препарируется на составляющие.

Блоки, из которых состоит страничка (<body></body>, <head></head>, <p></p> и т.д.) размещаются во временной базе данных соответственно структуре объектной модели.

База данных становится доступной другим программам и, в частности, рендеру, который выводит страничку на экран. Для доступа и управления содержимым этой базы данных броузер предоставляет нам механизм объектов и скриптовый язык, посредством которого и выполняется доступ.

Разумеется, содержимое базы может быть изменено до вывода на экран, что и позволяет работать DHTML. Но объектная модель остается работать даже после того, как страничка показана на экране дисплея. Это дает нам возможность в небольших пределах (а в последних версиях HTML 4.0 практически полностью) менять содержимое странички после загрузки.

Структура объектной модели

Чтобы было понятно, о чем мы говорим, рассмотрим общую структуру объектной модели. Ниже приведена объектная модель Internet Explorer-а версии 4 и выше.

window - объект, дающий доступ к окну броузера

frames - объект, дающий доступ к фреймам

window...

window...

...

document - объект, содержащий в себе всю страничку

all - полная коллекция всех тегов документа

forms - коллекция форм

anchors - коллекция якорей

appleеs - коллекция апплетов

embeds - коллекция внедренных объектов

filters - коллекция фильтров

images - коллекция изображений

links - коллекция ссылок

plugins - коллекция подключаемых модулей

scripts - коллекция блоков <script></script>

selection - коллекция выделений

stylesheets - коллекция объектов с индивидуально заданными стилями

history - объект, дающий доступ к истории посещенных ссылок

navigator - объект, дающий доступ к характеристикам броузера

location - объект, содержащий текущий URL

event - объект, дающий доступ к событиям

screen - объект, дающий доступ к характеристикам экрана

Объектная модель Netscape Navigator-а немного отличается от вышеприведенной, но ее смысл точно такой же. А использование JavaScript позволяет нам обойти различия в реализации объектных моделей.

Вместо того, чтобы подробно объяснять каждый объект, входящий в модель броузера, я буду разъяснять смысл соответствующих объектов, их свойств и методов на конкретных примерах по мере возникновения в том необходимости.

Как видите, структура объектной модели достаточно сложна, но строго определена, и существует однозначный способ доступа к любому свойству или методу. Синтаксис полностью соответствует тому, что используется в объектных языках. Т.е. нижележащие объекты отделяются от вышележащих точкой, и для доступа к конкретному свойству нужно просто корректно построить строку доступа.

И, как Вы понимаете, вот здесь-то на сцену и выходит скриптовый язык, который и позволяет нам манипулировать объектами.

Как любой язык программирования, JavaScript имеет определенный набор типов переменных, операторов, встроенных функций и объектов. Изучение JavaScript как такового как раз и заключаются в запоминании всего этого. Но, как Вы понимаете, оторванный от объектной модели, он мало полезен сам по себе. А потому я просто расскажу о популярных эффектах, применяемых на страничках, попутно давая пояснения. И надеюсь, что если это Вас заинтересует, то более сложные вещи Вы уже напишите сами.

Как и где размещать код скрипта?

Но сначала мы немного отвлечемся от эффектов и поговорим о том, как и где размещать JavaScript. Так как язык скриптовый и рассчитан на работу на web-страничках, то его код размещается непосредственно в HTML-коде странички. Причем, код на JavaScript обычно состоит из двух частей:

Функции, которые вызываются из кода странички в ответ на какое-то событие

Код событий, которые вызывают функции :))

Описание функций должно располагаться в теге <head></head> - это гарантирует нам, что к моменту вызова функции она уже будет находиться в памяти компьютера. Для вставки кода используется специальный тег <script>, в параметрах которого мы и определяем конкретный язык. Вот пример типичного описания JavaScript-вставки:

<script language="JavaScript">

<!--

function somefunction()

{

// здесь располагается код функции

}

//-->

</script>

Обратите внимание, что непосредственно сам код заключен в тег комментария. Это сделано для того, чтобы более старые броузеры игнорировали непонятные им команды. Новые же программы знают о существовании закомментированных скриптов и им это не мешает.

Заметьте также, что закрывающий тег комментария несколько необычен и предваряется двумя косыми чертами. Две косые черты - это комментарий языка JavaScript, т.е. скрипт игнорирует все, что идет после него. А сделана такая сложная конструкция ради совместимости с Netscape, который закрывающий HTML-комментарий воспринимает как непонятную ему команду и, соответственно, вызывает ошибку.

Ну вот, с основами применения скриптов разобрались, а примеры популярных и полезных эффектов, реализованных при помощи JavaScript, мы рассмотрим в следующей статье.



Другие материалы по теме


Внимание! При использовании материалов сайта, активная ссылка обязательна! Код ссылки:
Всего комментариев: 2
0  
2 joyner   (23.02.2009 21:07)
:]

0  
1 Rulovechater   (19.07.2008 16:16)
http://www.love-chat.ru/ - Чат Саши и Маши предлагает вам обмен кнопками.
Вот наша кнопка:
<a href="http://www.love-chat.ru/" target="_blank" title="Чат Саши и Маши"><img src="http://www.love-chat.ru/88x31.gif" width="88" height="31" border="0"></a>

свои предложения присылайте на адрес:lovechatru@mail.ru

Имя *:
Email:
Код *: