Основная задача веб_броузера состоит в отображении HTML_документа в окне. В клиентском языке JavaScript объект Document представляет HTML_документ, а объект Window – окно (или отдельный фрейм), в котором отображается этот до_ кумент. Хотя в клиентском JavaScript оба этих объекта важны, объект Window бо_ лее важен по одной существенной причине – это глобальный объект при про_ граммировании на стороне клиента.
Вспомните из главы 4, что в любой реализации JavaScript на вершине цепочки областей видимости всегда расположен глобальный объект; свойства глобально_ го объекта являются глобальными переменными. В клиентском JavaScript объ_ ект Window – это глобальный объект. Объект Window определяет несколько свойств и методов, позволяющих манипулировать окном веб_броузера. Он также опреде_ ляет свойства, ссылающиеся на другие важные объекты, такие как свойство document объекта Document. И наконец, объект Window имеет два свойства для ссыл_ ки на себя – window и self. Любая из этих глобальных переменных может исполь_ зоваться для ссылки непосредственно на объект Window.
Поскольку объект Window – это глобальный объект клиентского JavaScript, все глобальные переменные определяются как свойства окна. Например, следую_ щие две строки выполняют по существу одно и то же действие:
var answer = 42; // Объявляем и инициализируем глобальную переменную window.answer = 42; // Создаем новое свойство объекта Window
Объект Window представляет окно веб_броузера (или фрейм внутри окна; для кли_ ентского JavaScript окна верхнего уровня и фреймы по существу эквивалент_ ны). Существует возможность написать приложение, работающее с нескольки_ ми окнами (или фреймами). Каждое окно приложения имеет уникальный объ_ ект Window и определяет уникальный контекст исполнения для кода клиентского JavaScript. Другими словами, глобальная переменная, объявленная JavaScript_ кодом в одном окне, не является глобальной в другом окне. Однако JavaScript_ код второго окна может обращаться к глобальной переменной первого фрейма, хотя эта возможность нередко ограничивается из соображений безопасности. Эти проблемы подробно рассматриваются в главе 14.