Глобальні змінні оголошуються поза функцією для доступності у всій програмі, тоді як локальні змінні зберігаються всередині функції, використовуючи var
для використання лише в межах області дії цієї функції. Якщо ви оголосите змінну без використання var
, навіть якщо вона знаходиться всередині функції, вона все одно буде розглядатися як глобальна:
var x = 5; // global function someThing(y) { var z = x + y; console.log(z); } function someThing(y) { x = 5; // still global! var z = x + y; console.log(z); } function someThing(y) { var x = 5; // local var z = x + y; console.log(z); }
Глобальна змінна також є об'єктом поточної області дії, наприклад, вікном браузера:
var dog = “Fluffy”; console.log(dog); // Fluffy; var dog = “Fluffy”; console.log(window.dog); // Fluffy
Це найкраща практика мінімізувати глобальні змінні. Оскільки до змінної можна отримати доступ будь-де в програмі, вони можуть спричинити дивну поведінку.
Список літератури:
- var -Javascript | MDN
- Ви не знаєте JavaScript: Сфера застосування та закриття
Яка різниця між глобальним var і window.variable в javascript?
Сфера дії змінних JavaScript є або глобальною, або локальною. Глобальні змінні оголошуються ЗОВНІШНЬО функції, і її значення доступне / змінюється у всій програмі.
Вам ЗАВЖДИ слід використовувати var, щоб оголосити свої змінні (робити локально), інакше він буде встановлений ГЛОБАЛЬНО
Будьте обережні з глобальними змінними, оскільки вони є ризикованими. Більшу частину часу ви повинні використовувати закриття для оголошення своїх змінних. Приклад:
(function(){ var myVar = true; })();
Більше інформації:
- Візуальний посібник з визначень змінних і сфери використання JavaScript
- Вступ до визначень змінних JavaScript та підняття