28-04-24 11:53:48
Переменные, объявленные вне любой функции или блока, имеют глобальную область видимости и добавляются как свойства глобального объекта.
var globalVar = 'Я глобальная переменная';
console.log(globalVar); // Вывод: 'Я глобальная переменная'
console.log(window.globalVar); // Вывод: 'Я глобальная переменная' (в браузерной среде)
Глобальный объект включает в себя встроенные объекты, такие как Math, JSON и Date, а также функции, такие как parseInt и setTimeout.
console.log(Math.PI); // Вывод: 3.141592653589793
console.log(JSON.stringify({ key: 'value' })); // Вывод: '{"key":"value"}'
Глобальные функции, такие как parseInt и setTimeout, на самом деле являются свойствами глобального объекта.
console.log(window.parseInt('10')); // Вывод: 10
console.log(window.setTimeout(() => console.log('Привет'), 1000)); // Вывод: 'Привет' через 1 секунду
В браузерной среде глобальным объектом является window, в то время как в Node.js это global.
console.log(window === this); // Вывод: true (в браузере)
console.log(global === this); // Вывод: true (в Node.js)
Вы можете создать свои собственные глобальные переменные, присваивая свойства глобальному объекту.
globalVar2 = 'Я также глобальная переменная';
console.log(globalVar2); // Вывод: 'Я также глобальная переменная'
console.log(window.globalVar2); // Вывод: 'Я также глобальная переменная'
Глобальный объект предоставляет способ доступа к встроенной функциональности, определения глобальных переменных и управления областью видимости вашего кода.