Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Number Конструктор Number.

Object Конструктор Object.

RangeError Конструктор RangeError.

ReferenceError Конструктор ReferenceError.

RegExp Конструктор RegExp.

String Конструктор String .

SyntaxError Конструктор SyntaxError.

TypeError Конструктор TypeError.

URIError Конструктор URIError.

Описание

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

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

Глобальный объект - это просто объект, а не класс. У него нет конструктора Global и нет способа создать новый экземпляр глобального объекта.

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

Window
, представляющий окно веб-броузера, внутри которого выполняется JavaScript-код.

Пример

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

for/in
:

var variables = for(var name in this)

variables += name + "\n";

См. также

Window (часть IV книги); глава З

Infinity

числовое свойство, обозначающее бесконечность

Синтаксис

Infinity

Описание

Infinity
– это глобальное свойство, содержащее специальное числовое значение, которое обозначает положительную бесконечность. Свойство
Infinity
не перечисляется циклами
for/in
и не может быть удалено с помощью оператора
delete
. Следует отметить, что
Infіnitу
не является константой и может быть установлено равным какому-либо другому значению, но лучше этого не делать. (В то же время
Number.POSITIVE.INFINITY
– это константа.)

См. также

isFinite, NaN, Number. POSITIVE.INFINITY

isFinite

определяет, является ли число конечным

Синтаксис

isFinite(n)

Аргументы

n Проверяемое число.

Возвращаемое значение

Если n

является конечным числом (или может быть преобразовано в него), возвращает true, если n не является числом (NaN) или плюс/минус бесконечностью - false.

См. также

Infinity, isNaN, NaN, Number.NaN, Number.NEGATIVE.INFINITY, Number.POSITIVE.INFINITY

isNaN

определяет, является ли аргумент нечисловым значением

Синтаксис

isNaN(x)

Аргументы

х Проверяемое значение.

Возвращаемое значение

Если х является специальным нечисловым значением (или может быть в него преобразовано), возвращает true, если х является любым другим значением - false.

Описание

Название «NaN» является аббреквиатурой от «Not-a-Number» (не число). Глобальная переменная NaN хранит специальное числовое значение (которое также называется NaN), представляющее недопустимое число (например, результат деления на ноль).

isNaN
проверяет свой аргумент, чтобы определить, является ли он нечисловым. Эта функция возвращает false, если аргумент х является или может быть преобразован в числовое значение, отличное от NaN. Она возвращает true, если аргумент х не является или не может быть преобразован в числовое значение или если он равен NaN.

Важной особенностью NaN является то обстоятельство, что это значение не равно никакому значению, даже самому себе. Поэтому, если потребуется проверить некоторое значение на равенство NaN, нельзя будет использовать привычную проверку

х === NaN
: она всегда будет возвращать false. Вместо этого следует использовать выражение
х !== х
: оно возвращает true, только когда х равно NaN.

Обычно функция

isNaN
служит для проверки результатов, возвращаемых функциями
parseFloat
и
parseInt,
с целью определить, представляют ли эти результаты корректные числа.

Пример

См. также

isFinite, NaN, Number.NaN, parseFloat, parseInt

JSON

JSON (ECMAScript 5)

выполняет преобразование в формат JSON и обратно

Описание

JSON
– это простой объект, который играет роль пространства имен для глобальных функций
JSON.parse
и JSON
.stringify
, определяемых стандартом ECMAScript 5. Свойство
JSON
не является конструктором. Ранее, до появления стандарта ECMAScript 5, совместимые функции преобразования в формат JSON и обратно были доступны в библиотеке http://json.org/json2.js.

Аббревиатура «JSON» происходит от JavaScript Object Notation (форма записи JavaScript-объектов). JSON - это формат сериализации данных, основанный на синтаксисе литералов в языке JavaScript, который может представлять значение null, логические значения true и false, вещественные числа (с использованием формы записи чиcловых литералов в языке JavaScript), строки (с использованием формы записи строковых литералов), массивы значений (с использованием формы записи литералов массивов) и отображения строк в значения (с использованием формы записи литералов объектов). Элементарное значение undefined, а также числовые значения NaN и Infinity не могут быть представлены в формате JSON. Функции, объекты

Date
,
RegExp
и
Error
также не поддерживаются.

Поделиться с друзьями: