JavaScript. Подробное руководство, 6-е издание (Флэнаган) - страница 42

считает их равными. (Чтобы отличать их в программе, можно использовать оператор идентичности >===.) Оба они являются ложными значениями - в логическом контексте они интерпретируются как значение >false. Ни >null, ни >undefined не имеют каких-либо свойств или методов. На практике попытка использовать >. или >[], чтобы обратиться к свойству или методу этих значений, вызывает ошибку ТуреЕrror.

Значение >undefined можно рассматривать как признак неожиданного или ошибочного отсутствия какого-либо значения, a >null - как признак обычного или вполне ожидаемого отсутствия значения. Если в программе потребуется присвоить одно из этих значений переменной или свойству или передать одно из этих значений функции, практически всегда предпочтительнее использовать значение >null.

3.5. Глобальный объект

В разделах выше описывались простые типы данных и значения языка JavaScript. Объектные типы - объекты, массивы и функции - описываются в отдельных главах, далее в книге. Но существует один важный объект, с которым необходимо познакомиться сейчас. Глобальный объект - это обычный объект JavaScript, который играет очень важную роль: свойства этого объекта являются глобальными идентификаторами, доступными из любого места в программах на JavaScript. Когда выполняется запуск интерпретатора JavaScript (или когда вебброузер загружает новую страницу), создается новый глобальный объект, в котором инициализируется начальный набор свойств, определяющих:


• глобальные свойства, такие как >undefined, >Infinity и >NaN;

• глобальные функции, такие как >isNaN(), parseInt() (раздел 3.8.2) и >eval() (раздел 4.12);

• функции-конструкторы, такие как >Date(), RegExp(), String(), Object() и >Array() (раздел 3.8.2);

• глобальные объекты, такие как >Math и >JS0N (раздел 6.9).


Имена первоначально устанавливаемых свойств глобального объекта не являются зарезервированными словами, но вы вполне можете считать их таковыми. Все эти свойства перечислены в разделе 2.4.1. Некоторые из глобальных свойств уже описывались в этой главе. Большинство других будут рассматриваться в разных разделах книги. Кроме того, их все можно отыскать по именам в справочном разделе по базовому JavaScript или в описании самого глобального объекта, под именем «>Global». В клиентском JavaScript имеется объект >Window, определяющий другие глобальные свойства, описание которых можно найти в справочном разделе по клиентскому JavaScript.

В программном коде верхнего уровня, т. е. в JavaScript-коде, который не является частью функции, сослаться на глобальный объект можно посредством ключевого слова