Global object

Глобальный объект - это object, который всегда существует в global scope.

В 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!");
}