59. Глобальный объект.
Глобальный объект (далее для краткости Global) – специальный объект JavaScript, автоматически создаваемый при запуске транслятора (перед началом выполнения первого скрипта).
Global и фазы выполнения скрипта
- Создание Global.
- Инициализация. Скрипт сканируется в поисках глобальных инструкций
function
, а затем – в поисках глобальных инструкцийvar
. Каждое объявление добавляется к Global. При этом функции готовы к работе, а вот переменные равныundefined
. - Выполнение инструкций скрипта (в частности, присваивание объявленным переменным значений).
Шаги 1 и 2 выполняются для каждого скрипта на веб-странице.
Свойства-значения Global
Infinity
– числовое значение, представляющее бесконечность;NaN
– числовое значение, представляющее не-число (Not-a-Number).undefined
– хранит значение undefined.
В стандарте ECMAScript все эти свойства описаны как доступные только для чтения.
Свойства-функции Global
eval(string)
Если аргумент не является строкой, он возвращается. Иначе происходит трансляции и выполнение строки как некоего JavaScript-кода. Результат работы – это результат последнего вычисленного выражения.
parseInt(string, radix)
Преобразование (гибкое!) строки в целое число. Второй аргумент определяет систему счисления (целое число от 2 до 36 (включительно)).
parseFloat(string)
Преобразование строки в число.
decodeURI(encodedUri)
decodeURIComponent(encodedUriComponent)
encodeURI(uri)
encodeURIComponent(uriComponent)
Набор функций для обработки URI (замена в строке «плохих» для URI символов на «хорошие»):
Глобальный объект содержит набор методов:
Object()
Error()
Function()
EvalError()
Array()
RangeError()
String()
ReferenceError()
Boolean()
SyntaxError()
Number()
TypeError()
Date()
URIError()
RegExp()
Объекты
Math
– этот объект содержит математические константы и функции.JSON
– объект для работы с JSON. Содержит два метода:parse()
для преобразования JSON-строки в допустимые значения JavaScript;stringify()
для получения JSON-строки по значению.
Дополнения
Движок может дополнять Global новыми свойствами. Например, движки в браузерах:
- снабжают Global свойством window, содержащим Global
- добавляют к Global свойство document для доступа к документу, отображаемому в окне браузера
- добавляют к Global методы alert(), prompt(), confirm(); setInterval(), setTimeout(), clearInterval(), clearTimeout()
alert(msg)
– выводит модальное окно с сообщением
prompt(msg, txt)
– показывает окно с текстом msg для ввода строки (в поле ввода отображается необязательный параметр txt). Возвращает введённую строку (или null – если пользователь нажал Cancel или закрыл окно)
confirm(msg)
– выводит окно с сообщением и кнопками OK и Cancel. Возвращает true, если пользователь нажал OK; false, если пользователь нажал Cancel или закрыл окно