Февраль 11, 2006

JavaScript и объектная модель (Окончание)

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

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

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

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

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

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

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

1. Функции, которые вызываются из кода странички в ответ на какое-то событие
2. Код событий, которые вызывают функции

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

<script language="JavaScript">
<!--
function somefunction()
{
// здесь располагается код функции
}
//-->
</script>

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

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

Начало

Разместил:

Источник: , (Web-studio "Cherry-Design")

Комментарии

1. 30.04.06 15:42 От: Евгений

А источник постарее не могли найти?:)
Про какой Netscape идет речь? Уж не про 4.0 ли?:)))
language="JavaScript"... Почитали бы спецификацию ECMAScript что ли сначала...
Мастера...

2. 18.08.06 16:46 От: maloii

Я полностью согласен с Евгением. Надоело читать одно и тоже по 100 раз. JavaScript уже давно не тот как его представляли во времена Netscape. И что самое обидное все всё равно пишут про этот злополучный Netscape. В магазинах почти нереально найти достойную литературу по JavaScript, 90% информация давно устарелая. Все пишут про одно и тоже, про события и всякие alert. А ведь на JavaScript можно писать объекты, более того переопределять существующие объекты, работать с DOM и многое другое, что в современной литературе почти не найти, вот и приходится читать зарубежную литературу. А наши авторы по непонятным причинам любят копировать и переписывать друг друга. Вот, например, вспоминается времена, когда php 5 должен был вот-вот выйти. Компания zend только выпустила beta версию, а на полках уже были книжки по php 5, только они были по php 4 :-) плюс описаны те вещи которые компания зенд описала у себя на сайте. Так что ребята давайте писать уже что-то новое :-)

3. 19.08.06 03:28 От: Олег

смотрите здесь http://partners.iqb.ru/#14750

4. 11.07.07 15:30 От: уes

ya.ru

5. 24.04.08 07:45 От: дабражилатель

да уж Алексей Юзвяк и Михаил Мельников - те ещё кретины... год 2008. пишут про такую херню, датированную 95-ым годом...

Ваш комментарий

Обсудить на форуме?

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