Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Global object

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

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