if ((х == 0 && у == 0) И !(z == 0)) {
// х и у содержат значение 0 или z не равна нулю
}
Полное описание этих операторов приводится в разделе 4.10.
3.4. Значения null и undefined
Ключевое слово null
в языке JavaScript имеет специальное назначение и обычно используется для обозначения отсутствия значения. Оператор typeof
для значения null
возвращает строку «object», что говорит о том, что значение null
является специальным «пустым» объектом. Однако на практике значение null
обычно считается единственным членом собственного типа и может использоваться как признак отсутствия значения, такого как число, строка или объект. В большинстве других языков программирования имеются значения, аналогичные значению null
в JavaScript: вам они могут быть известны как null
или nil
.
В языке JavaScript имеется еще одно значение, свидетельствующее об отсутствии значения. Значение undefined
, указывающее на полное отсутствие какого-либо значения. Оно возвращается при обращении к переменной, которой никогда не присваивалось значение, а также к несуществующему свойству объекта или элементу массива. Кроме того, значение undefined
возвращается функциями, не имеющими возвращаемого значения, и присваивается параметрам функций для аргументов, которые не были переданы при вызове. Идентификатор undefined
является именем предопределенной глобальной переменной (а не ключевым словом, как null
), которая инициализирована значением undefined
. В ECMAScript 3 undefined
является переменной, доступной для чтения/записи, которой можно присвоить любое другое значение. Эта проблема была исправлена в ECMAScript 5, и в реализациях JavaScript, соответствующих этому стандарту, переменная undefined
доступна только для чтения. Оператор typeof
для значения undefined
возвращает строку «undefined», показывающую, что данное значение является единственным членом специального типа.
Несмотря на эти отличия, оба значения, null
и undefined
, являются признаком отсутствия значения и часто являются взаимозаменяемыми. Оператор равенства ==
считает их равными. (Чтобы отличать их в программе, можно использовать оператор идентичности ===
.) Оба они являются ложными значениями - в логическом контексте они интерпретируются как значение false
. Ни null
, ни undefined
не имеют каких-либо свойств или методов. На практике попытка использовать .
или []
, чтобы обратиться к свойству или методу этих значений, вызывает ошибку ТуреЕrror.
Значение undefined
можно рассматривать как признак неожиданного или ошибочного отсутствия какого-либо значения, a null
- как признак обычного или вполне ожидаемого отсутствия значения. Если в программе потребуется присвоить одно из этих значений переменной или свойству или передать одно из этих значений функции, практически всегда предпочтительнее использовать значение null
.
В разделах выше описывались простые типы данных и значения языка 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.
Читать дальше
Конец ознакомительного отрывка
Купить книгу