Февраль 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-ым годом...