Автор оригинала: FreeCodeCamp Community Member.
Глобальные переменные объявлены вне функции для доступности на протяжении всей программы, а локальные переменные хранятся в функции, используя 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
Это лучшая практика, чтобы минимизировать глобальные переменные. Поскольку переменная может быть доступна в любом месте программы, они могут вызвать странное поведение.
Использованная литература:
В чем разница между Global VAR и Windows.Variable в JavaScript?
Область объема переменных JavaScript – это либо глобальная или локальная. Глобальные переменные объявлены вне функции, и его значение доступна/изменчивая на протяжении всей программы.
Вы всегда должны использовать var объявить ваши переменные (сделать локально) еще, он будет установить глобально
Позаботьтесь с глобальными переменными, потому что они рискованы. Большую часть времени вы должны использовать замыкание, чтобы объявить ваши переменные. Пример:
(function(){
var myVar = true;
})();Больше информации:
- Визуальная руководство по определениям переменной JavaScript и объем
- INTRO к JavaScript переменные определения и подъема