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