Глобальный объект (
Global) создается исполняющей системой JavaScript перед началом исполнения сценария. Это единственный объект, который не имеет имени, и потому доступ к его свойствам и методам осуществляется без имени объекта. По этой причине их иногда называют свойствами и методами верхнего уровня.
Свойства глобального объекта
Свойство |
Описание |
Infinity |
Специальное значение "бесконечность". |
NaN |
Специальное значение "не число". |
undefined |
Неопределенное значение. |
Методы глобального объекта
Метод |
Описание |
Boolean |
Преобразует объект в логическое значение. |
decodeURI |
Декодирует URI. |
decodeURIComponent |
Декодирует компонент URI. |
encodeURI |
Кодирует URI. |
encodeURIComponent |
Кодирует компонент URI. |
escape |
Преобразует строку в шестнадцатеричную кодировку Unicode. |
eval |
Исполняет строку кода JavaScript. |
isFinite |
Возвращает true, если аргумент является конечным числом. |
isNaN |
Возвращает true, если аргумент равен NaN. |
Number |
Преобразует объект в число. |
Object |
Преобразует значение в объект. |
parseFloat |
Преобразует строку в плавающее число. |
parseInt |
Преобразует строку в целое число. |
String |
Преобразует объект в строку. |
unescape |
Преобразует шестнадцатеричную кодировку Unicode в строку. |
Синтаксис: Infinity
Атрибуты: { DontEnum, DontDelete }
Начальным значением свойства
Infinity является значение
Number.POSITIVE_INFINITY. Это значение обозначает положительную бесконечность и больше любого числа, включая его само. В частности, результат умножения любого числа на
Infinity равен
Infinity, а результат деления любого числа на
Infinity равен 0. Равенство результата арифметической операции этому значению указывает на переполнение.
Синтаксис: NaN
Атрибуты: { DontEnum, DontDelete }
Начальным значением свойства
NaN является значение
Number.NaN (Not a Number, "не число"). Это значение не совпадает ни с одним числом, включая себя, поэтому мы не можем проверить правильность числа, сравнивая его с
NaN. Вместо этого нужно использовать методы
isFinite и
isNaN.
Некоторые методы JavaScript возвращают
NaN, если их аргумент не является числом. Рекомендуется использовать это свойство в своих функциях точно так же.
Синтаксис: undefined
Атрибуты: { DontEnum, DontDelete }
Начальным значением свойства
undefined является значение
undefined (неопределенное значение). Оно означает, что переменной не было присвоено никакого значения.
Синтаксис: Boolean(объект)
Аргументы: объект — любое выражение
Результат: логическое значение
Метод
Boolean преобразует аргумент в логическое значение.
Синтаксис: decodeURI(строка)
Аргументы: строка — строковое выражение, содержащее кодированный URI
Результат: новый строковый объект
Поддержка:
Поддерживается с версии 5.5.
Не поддерживается.
Метод
decodeURI выполняет стандартную декодировку URI, закодированного методом
encodeURI.
Синтаксис: decodeURIComponent(строка)
Аргументы: строка — строковое выражение, содержащее кодированный компонент URI
Результат: новый строковый объект
Поддержка:
Поддерживается с версии 5.5.
Не поддерживается.
Метод
decodeURIComponent выполняет стандартную декодировку отдельного компонента URI, закодированного методом
encodeURIComponent.
Синтаксис: encodeURI(строка)
Аргументы: строка — строковое выражение, содержащее URI
Результат: новый строковый объект
Поддержка:
Поддерживается с версии 5.5.
Не поддерживается.
Метод
encodeURI выполняет стандартную кодировку URI. При этом он не кодирует символы ":", "/", ";" и "?", считая их стандартными разделителями URI. Для кодировки этих символов следует пользоваться методом
encodeURIComponent.
Например, оператор
document.write(encodeURI("http://www.test.com?val=привет"))
выведет на экран обозревателя строку
http://www.test.com?val=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82.
Обратная декодировка URI производится методом
decodeURI.
Поддержка:
Поддерживается с версии 5.5.
Не поддерживается.
Синтаксис: encodeURIComponent(строка)
Аргументы: строка — строковое выражение, содержащее компонент URI
Результат: новый строковый объект
Метод
encodeURIComponent выполняет стандартную кодировку отдельного компонента URI. При этом кодируются все символы, не принадлежащие к базовой латинице.
Этим методом не следует пользоваться для кодировки полного URI. Например, оператор
document.write(encodeURIComponent("http://www.test.com?val=привет"))
выведет на экран обозревателя строку
http%3A%2F%2Fwww.test.com%3Fval%3D%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82.
Обратная декодировка компонента URI производится методом
decodeURIComponent.
Синтаксис: escape(строка)
Аргументы: строка — любое строковое выражение
Результат: новый строковый объект
Метод
escape преобразует входную строку в шестнадцатеричную кодировку Unicode. При этом все символы, не являющиеся символами базовой латиницы, заменяются на их шестнадцатеричные escape-коды
%xx. Если код символа больше 255, то он заменяется на
%uxxxx. Например, оператор
document.write(escape("Строка."))
выведет на экран обозревателя строку
%u0421%u0442%u0440%u043E%u043A%u0430.
Примечания.
- Эта функция не должна использоваться для стандартной кодировки строк, содержащих URI. Вместо нее следует использовать методы encodeURI и encodeURIComponent.
- Обратное преобразование строки производится методом unescape.
Синтаксис: eval(строка)
Аргументы: строка — строковое выражение, содержащее программный код
Результат: см. описание
Метод
eval рассматривает входную строку как программный код JavaScirpt и исполняет его. Он позволяет динамически формировать операторы и выражения JavaScript для последующего выполнения.
Если аргументом метода
eval является выражение, то он возвращает значение этого выражения, например:
var x = 10, y = 20;
var z = eval("x + y + 1"); // z равно 31
Если аргументом метода
eval являются операторы, то он выполняет эти операторы и возвращает значение
undefined, например:
var z = eval("var myDate = new Date();"); // создается новая переменная myDate
Метод
eval исполняется в том же контексте (глобальном или локальном), в котором он вызван; этим же контекстом определяется область действия создаваемых их переменных. Операция
this также возвращает указатель на тот объект, который был текущим в момент вызова данного метода.
Синтаксис: isFinite(число)
Аргументы: число — любое числовое выражение
Результат: логическое значение
Метод
isFinite возвращает
true, если значением его аргумента является число, отличное от
NaN, положительной бесконечности и отрицательной бесконечности. В противном случае он возвращает
false.
Синтаксис: isNaN(выражение)
Аргументы: выражение — любое выражение
Результат: логическое значение
Метод
isNaN возвращает
true, если значением его аргумента является
NaN. В противном случае он возвращает
false.
Альтернативным способом проверки значения переменной на равенство
NaN является сравнение ее с самой собой, поскольку
NaN — это единственное значение, которое не равно самому себе.
Синтаксис: Number(объект)
Аргументы: объект — любое выражение
Результат: числовое значение
Метод
Number преобразует аргумент в числовое значение.
Синтаксис: Object(значение)
Аргументы: значение — любое выражение
Результат: объектное значение
Метод
Object преобразует аргумент в объектное значение.
Синтаксис: parseFloat(строка)
Аргументы: строка — любое строковое выражение
Результат: числовое значение
Метод
parseFloat преобразует входную строку в плавающее число. Если аргумент не может быть преобразован в плавающее число, то возвращается значение
NaN. Примеры:
parseFloat("314e-2") // возвращает 3.14
parseFloat("3.14abc") // возвращает 3.14
parseFloat("abc") // возвращает NaN
Синтаксис: parseInt(строка [,основание]?)
Аргументы: строка — любое строковое выражение
основание - любое числовое выражение
Результат: числовое значение
Метод
parseInt преобразует входную строку в целое число. Необязательный аргумент
основание задает основание системы счисления и должен иметь значение, больше или равное 2.
Если
основание задано, то
parseInt преобразует входную строку в число с данным основанием. При этом в системах счисления с основанием, большим 10, цифры, большие девяти, задаются латинскими буквами (A = 10, B = 11, …, Z = 35). Формат чисел для оснований, больших 36, не определен.
Если
основание не задано, то
parseInt преобразует входную строку в число по следующим правилам:
- если строка начинается с 0x, то число считается шестнадцатеричным;
- если строка начинается с 0, то число считается восьмеричным;
- в остальных случаях число считается десятичным.
Если аргумент не может быть преобразован в целое число, то возвращается значение
NaN. Примеры:
parseInt("0xF"); // возвращает 15
parseInt("017"); // возвращает 15
parseInt("08"); // возвращает 0
parseInt("15.99", 10); // возвращает 15
parseInt("FXX", 16); // возвращает 15
parseInt("1111", 2); // возвращает 15
parseInt("15*3"); // возвращает 15
parseInt("Hello", 8); // возвращает NaN
Синтаксис: String(объект)
Аргументы: объект — любое выражение
Результат: строковое значение
Метод
String преобразует аргумент в строковое значение. Если аргументом является объект, то этот метод возвращает то же значение, что и метод
toString данного объекта.
Синтаксис: unescape(строка)
Аргументы: строка — любое строковое выражение
Результат: новый строковый объект
Метод
unescape преобразует строку в шестнадцатеричной кодировке Unicode в текстовую. Формат исходной строки описан в методе
escape. Эта функция используется, в частности, для стандартной декодировки строк, содержащих URI. Например, оператор
document.write(unescape("%u0421%u0442%u0440%u043E%u043A%u0430."))
выведет на экран обозревателя текст
Строка.