Популярность языка JavaScript порождена его широкими возможностями по взаимодействию с элементами веб-страницы через объектную модель документа (DOM). Фактически, любым объектом веб-страницы можно манипулировать «на лету» без перезагрузки документа. Это позволяет прятать и показывать фрагменты дизайна, перемещать их и менять оформление. Путем таких действий можно создавать презентационные эффекты, меню, небольшие игры, обрабатывать данные форм и управлять содержимым. Некоторые дополнительные возможности описаны более подробно.
Поддержка слоев
Слои предоставляют собой фрагменты HTML, которые можно размещать на веб-странице
путем наложения их друг на друга с точностью до пикселя. Слои все больше приобретают
признание как средство верстки веб-страниц и создания разных эффектов. Частично
это связано с тем, что их параметры легко меняются динамически через скрипты,
что дает возможность создавать меню и другие выразительные средства дизайна.
Работа с формами
Через скрипты удобно получать и обрабатывать любые данные форм, это позволяет
проверить информацию на правильность ввода перед ее отправкой на сервер. Можно
создать <защиту от дурака> для контроля того, чтобы в элементы форм вводились
корректные сообщения. Так, если в текстовом поле просят ввести число, следует
сразу пресекать возможность ввода нечисловых символов.
Работа с изображениями
Через скрипты можно делать предварительную загрузку изображений. Еще до прямого
обращения к изображениям, браузер помещает их в свою память, чтобы по мере необходимости
быстрее отобразить в документе.
Основные параметры изображений, такие как: ширина, высота картинок и адрес графического файла, тоже можно менять динамически. Это позволяет создавать эффект перекатывания, когда рисунок меняется на другой при наведении на него курсора мыши и обратно, когда курсор уводится с изображения. Подобным методом делаются и галереи фотографий — смена изображений происходит в пределах одной страницы.
Определение даты и времени
Очень любимая почему-то многими дизайнерами возможность вставлять текущую дату,
и даже время к себе на страницу, реализуется с помощью объекта Date, специально
созданного для работы с датой. Все что можно получить от времени, здесь уже
есть.
Работа с cookies
JavaScript поддерживает полноценную работу с cookies — небольшие текстовые
файлы на локальном компьютере, в которых сохраняется техническая информация.
Cookies можно использовать для сохранения даты последнего посещения читателя,
паролей, а также любой информации о действиях посетителя на сайте. Подобное
применение позволяет персонализировать сайт и сделать его более удобным для
посетителей.
Отслеживание событий
Событием называется определенное действие пользователя или изменение состояния
документа. JavaScript отслеживает большинство событий и позволяет определять
реакцию на них. Например, при загрузке веб-страницы происходит событие onLoad.
Если необходимо запустить скрипт сразу после загрузки документа, следует этому
событию назначить функцию, которая будет выполняться при его наступлении.
Создание новых окон
Скрипты позволяют создавать новые окна, задавать у этих окон вид отображения
и формировать их содержимое. Причем, у созданных таким способом окон можно отключать
адресную строку, полосы прокрутки, меню и управлять их размером и положением
на экране.
Проверка браузера
Подход разных браузеров к объектной модели, хоть и стандартизирован, но еще
не всеми до конца принят. Поэтому для создания универсального документа, одинаково
работающего везде, приходится делать проверку, какой в данный момент используется
браузер, и давать ему подходящий код.
Математические функции
JavaScript содержит все необходимые арифметические операции, поддерживает все
стандартные математические функции, как с целыми числами, так и с плавающей
точкой.
Управление содержимым документа
Через метод write() можно вставлять любую информацию в уже созданный документ,
например, сегодняшнюю дату. А также формировать полностью новый документ динамически.
Это позволяет учитывать особенности поведения различных браузеров и операционных
систем, выводя для них свой собственный текст.
Разумеется, здесь описаны не все возможности языка JavaScript, но и указанного достаточно, чтобы понять, что это мощное, гибкое, универсальное и удобное средство расширить возможности веб-страниц.