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