JavaScript – это интерпретируемый язык программирования с объектно_ориен_ тированными возможностями. С точки зрения синтаксиса базовый язык Java_ Script напоминает C, C++ и Java такими программными конструкциями, как ин_ струкция if, цикл while и оператор &&. Однако это подобие ограничивается син_ таксической схожестью. JavaScript – это нетипизированный язык, т. е. в нем не требуется определять типы переменных. Объекты в JavaScript отображают име_ на свойств на произвольные значения. Этим они больше напоминают ассоциа_ тивные массивы Perl, чем структуры C или объекты C++ или Java. Механизм объектно_ориентированного наследования JavaScript скорее похож на механизм прототипов в таких малоизвестных языках, как Self, и сильно отличается от ме_ ханизма наследования в C++ и Java. Как и Perl, JavaScript – это интерпретируе_ мый язык, и некоторые его инструменты, например регулярные выражения и средства работы с массивами, реализованы по образу и подобию языка Perl.
Ядро языка JavaScript поддерживает работу с такими простыми типами дан_ ных, как числа, строки и булевы значения. Помимо этого он обладает встроен_ ной поддержкой массивов, дат и объектов регулярных выражений.
Обычно JavaScript применяется в веб_броузерах, а расширение его возможно_ стей за счет введения объектов позволяет организовать взаимодействие с пользо_ вателем, управлять веб_броузером и изменять содержимое документа, отобража_ емое в пределах окна веб_броузера. Эта встроенная версия JavaScript запускает сценарии, внедренные в HTML_код веб_страниц. Как правило, эта версия назы_ вается клиентским языком JavaScript, чтобы подчеркнуть, что сценарий ис_ полняется на клиентском компьютере, а не на веб_сервере.
В основе языка JavaScript и поддерживаемых им типов данных лежат междуна_ родные стандарты, благодаря чему обеспечивается прекрасная совместимость между реализациями. Некоторые части клиентского JavaScript формально стан_ дартизированы, другие части стали стандартом де_факто, но есть части, которые являются специфическими расширениями конкретной версии броузера. Совмес_ тимость реализаций JavaScript в разных броузерах зачастую приносит немало беспокойств программистам, использующим клиентский язык JavaScript.
1.1. Что такое JavaScript
В этой главе приводится краткий обзор JavaScript и дается вводная информа_ ция, перед тем как перейти к фактическому изучению возможностей языка. Кроме того, в данной главе на нескольких фрагментах кода на клиентском язы_ ке JavaScript демонстрируется практическое веб_программирование.