Объектная модель документа
Кроме базового языка, важнейшей частью JavaScript является объектная модель документа (Document Object Model или DOM). DOM является связующим звеном между HTML-содержимым документа и сценарием JavaScript.
В DOM все размещенные в документе элементы, а также сам документ и окно браузера рассматриваются как программируемые объекты. Каждый объект имеет собственные свойства и методы. Свойства объектов представляют те или иные параметры HTML-элементов документа. Методы дают возможность выполнять различные операции над объектами документа. В языке JavaScript также существуют события – аналог программных прерываний.
Что может и чего не может JavaScript
Сценарии на языке JavaScript являются мощнейшим средством внесения элементов динамики в HTML-документы. Прежде чем начать работать в JavaScript, следует четко понять и запомнить, что можно, а чего нельзя сделать с помощью этого языка. Основные задачи, недоступные для HTML, но решаемые с помощью JavaScript:
1. проверка данных в HTML-формах перед отправкой на сервер;
2. изменение содержимого страницы в зависимости от действий клиента;
3. изменение содержимого страницы и ее поведения в зависимости от типа браузера пользователя, операционной системы, а также даты и времени, установленных на компьютере клиента;
4. анимация различных статических HTML-объектов;
5. управление многофреймовыми документами;
6. управление различными надстройками, такими как ActiveX, Flash, Java-аплеты;
7. управление окном браузера: изменение его положения на экране, размеров, а также открытие и закрытие новых окон.
Конечно, JavaScript не всемогущ, и существует целый ряд задач, которые невозможно решить с его помощью:
1. чтение и запись файлов на компьютере клиента (кроме специальных файлов cookie);
2. запуск приложения на компьютере клиента;
3. доступ к файлам или базе данных на сервере;
4. создание графических объектов на странице;
5. получение любых сведений о клиенте, кроме перечисленных в предыдущем списке или введенных в поля HTML-формы;
Конечно, это далеко не полные списки.