Global object
Глобальный объект - это объект, который всегда существует в глобальной области видимости (en-US).
В JavaScript всегда определён глобальный объект. В веб-браузере, когда скрипты создают глобальные переменные, они создаются как свойства глобального объекта. (В Node.js это не так.) Interface глобального объекта зависит от контекста, в котором выполняется скрипт.К примеру:
- В веб-браузере любой код, который не запускается скриптом явно как фоновую задачу, имеет
Windowв качестве своего глобального объекта. Это покрывает большую часть JavaScript-кода в сети. - Код, работающий в
WorkerимеетWorkerGlobalScopeобъект в качестве своего глобального объекта. - Скрипты, работающие в Node.js имеют объект, который называется
globalв качестве своего глобального объекта.
Объект window в Браузере
Объект window - Глобальный Объект в браузере. Доступ к любым Глобальным Переменным или функциям может быть получен как к свойствам объекта window.
Получение доступа к Глобальным Переменным
js
var foo = "foobar";
foo === window.foo; // Возвращает: true
После определения Глобальной Переменной foo, мы можем получить доступ к его значению прямо с объекта window, использую имя переменной foo в качестве имени свойства Глобального Объекта window.foo.
Объяснение:
Глобальная Переменная foo была сохранена в объекте window, подобно следующему примеру:
js
foo: "foobar"
Получение доступа к Глобальным Функциям
js
function greeting() {
console.log("Hi!");
}
window.greeting(); // Тоже самое что и обычный вызов: greeting();
Пример выше показывает как Глобальные Функции хранятся в качестве свойств объекта window. Мы создали Глобальную Функцию greeting и вызвали её с помощью объекта window.
Объяснение:
Глобальная функция greeting была сохранена в объекте window, подобно следующему примеру:
js
greeting: function greeting() {
console.log("Hi!");
}