JavaScript и объектная модель
Скриптовые языки в некотором роде перевернули мир, и именно благодаря им появился DHTML, который позволяет делать со страничкой практически что-угодно. Как известно, всего два языка претендуют на лавры победителя в броузере. Это VBScript - подмножество Visual Basic-а и JavaScript. Вот последним мы и займёмся как наиболее универсальным.
Сами по себе изучать скриптовые языки не имеет смысла, т.к. они тесно связаны с объектной моделью броузера и, по сути дела, большая часть скриптов просто устанавливает соответствующие свойства объектов или вызывает их методы.
Что такое объектная модель?
Давным-давно, когда броузеры ещё имели номер версии равный единице, ничего подобного не было и в помине. Информация просто выводилась на дисплей по мере поступления, не подвергаясь никаким изменениям. Всё было просто, и даже глюков совместимости ещё не было :).
Сейчас же путь странички до дисплея гораздо дольше. Давайте поэтапно проследим её путь:
- Страничка скачивается с сайта и размещается в памяти компьютера;
- Производится анализ странички, в результате которого она препарируется на составляющие;
- Блоки, из которых состоит страничка, размещаются во временной базе данных соответственно структуре объектной модели;
- База данных становится доступной другим программам и, в-частности, рендеру, который выводит страничку на экран. Для доступа и управления содержимым этой базы данных броузер предоставляет нам механизм объектов и скриптовый язык, посредством которого и выполняется доступ.
Разумеется, содержимое базы может быть изменено до вывода на экран, что и позволяет работать DHTML. Но объектная модель остаётся работать даже после того, как страничка показана на экране дисплея. Это даёт нам возможность в небольших пределах (а в последних версиях HTML 4.0 практически полностью) менять содержимое странички после загрузки.
Структура объектной модели
Чтобы было понятно, о чём мы говорим, рассмотрим общую структуру объектной модели. Ниже приведена объектная модель Internet Explorer-а версии 4 и выше:
- window - объект, дающий доступ к окну броузера
- frames - объект, дающий доступ к фреймам
- window...
- window...
- ...
- document - объект, содержащий в себе всю страничку
- all - полная коллекция всех тегов документа
- forms - коллекция форм
- anchors - коллекция якорей
- appleеs - коллекция апплетов
- embeds - коллекция внедренных объектов
- filters - коллекция фильтров
- images - коллекция изображений
- links - коллекция ссылок
- plugins - коллекция подключаемых модулей
- scripts - коллекция блоков
- selection - коллекция выделений
- stylesheets - коллекция объектов с индивидуально заданными стилями
- history - объект, дающий доступ к истории посещенных ссылок
- navigator - объект, дающий доступ к характеристикам броузера
- location - объект, содержащий текущий URL
- event - объект, дающий доступ к событиям
- screen - объект, дающий доступ к характеристикам экрана
Объектная модель Netscape Navigator-а немного отличается от вышеприведённой, но её смысл точно такой же. А использование JavaScript позволяет нам обойти различия в реализации объектных моделей.
Вместо того, чтобы подробно объяснять каждый объект, входящий в модель броузера, я буду разъяснять смысл соответствующих объектов, их свойств и методов на конкретных примерах по мере возникновения в том необходимости.
Как видите, структура объектной модели достаточно сложна, но строго определена, и существует однозначный способ доступа к любому свойству или методу. Синтаксис полностью соответствует тому, что используется в объектных языках. Т.е. нижележащие объекты отделяются от вышележащих точкой, и для доступа к конкретному свойству нужно просто корректно построить строку доступа.
И, как Вы понимаете, вот здесь-то на сцену и выходит скриптовый язык, который и позволяет нам манипулировать объектами.
Как любой язык программирования, JavaScript имеет определённый набор типов переменных, операторов, встроенных функций и объектов. Изучение JavaScript как такового как раз и заключаются в запоминании всего этого. Но, как Вы понимаете, оторванный от объектной модели, он мало полезен сам по себе. А потому я просто расскажу о популярных эффектах, применяемых на страничках, попутно давая пояснения. И надеюсь, что если это Вас заинтересует, то более сложные вещи Вы уже напишете сами.


Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2025-07-09 » Индексация сайта: что это и как ускорить попадание страниц в поисковики
- 2025-07-09 » 4 маркетинговых трюка от Стива Джобса
- 2025-07-08 » Как мышление влияет на успех бизнеса, и причем тут эмоциональный интеллект
- 2025-07-08 » «Бомж-маркетинг» без бюджета: механика, тактики и результаты
- 2025-07-08 » Медицинский интернет-маркетинг: каналы, особенности и рекомендации
- 2025-07-04 » Утечка данных стоит дороже, чем их защита: почему вам нужна грамотная ИТ-инфраструктура
- 2025-07-04 » Персональные данные: правила хранения и обработки и изменения 2025 года
- 2025-07-04 » Владельцам сайтов: изменения в законе о персональных данных
- 2025-07-04 » Персональные данные: самый полный гайд на 2025 год
- 2025-07-04 » Штрафы за нарушения в работе с персональными данными с 30 мая 2025 года: утечка в интернет и неуведомление РКН
- 2025-07-04 » Новые штрафы в работе с персональными данными: что проверить прямо сейчас
- 2025-07-04 » Google выкатил 68-страничный гайд по промптам. Я прочитал его за вас и вытащил 4 главных правила
- 2025-07-04 » Как выстроить доверие и лояльность клиентов через точки контакта
- 2025-07-04 » Пять SEO-правил, которые реально работают в 2025 году
- 2025-06-10 » Кому нужно срочно подать уведомление в РКН об обработке персональных данных и как это правильно сделать
- 2025-06-10 » Что такое VPN и зачем он нужен?
- 2025-06-10 » Нейросети для создания видео: 7 инструментов и что они могут
- 2025-06-10 » ChatGPT, DeepSeek, Grok, Gemini доступны на русском бесплатно. Внедряем?
- 2025-06-10 » 12 нейросетей для работы с маркетплейсами: создание карточек и описаний для Wildberries и Ozon
- 2025-06-10 » 11 нейросетей для генерации изображений в 2025 году
- 2025-05-30 » Год назад то, что занимало у меня несколько дней работы, сейчас я делаю за 1-2 часа. Без преувеличений. И это только начало
- 2025-05-25 » Нейросети для написания текста: 7 сервисов в помощь копирайтеру
- 2025-05-25 » Сайты с качественным контентом смогут получать больше трафика после обновления алгоритмов в Поиске Яндекса
- 2025-05-07 » Почему страницы не индексируются Google: три типа проблем
- 2025-05-05 » Лидеры рейтинга самых дорогих компаний Рунета — 2025
- 2025-05-05 » Мы делали презентации 35 лет, а потом пришла нейросеть
- 2025-04-08 » Горшочек, рисуй: 10 бесплатных сервисов для генерации картинок
- 2025-04-08 » SEO-продвижение в 2025 году: 15 трендов, без которых ТОП не светит
- 2025-03-14 » SPF-запись
- 2025-03-07 » SEO на маркетплейсах: как оптимизировать карточку товара для поисковой выдачи
Если ты рождён без крыльев, не мешай им расти. (Коко Шанель / ЖИТЕЙСКАЯ МУДРОСТЬ ) |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.