Рубрики
Без рубрики

Глобальные переменные в JavaScript объяснили

Глобальные переменные объявлены вне функции для доступности на протяжении всей программы, в то время как локальные переменные хранятся в функции, используя VAR для использования только в пределах этой функции. Если вы объявите переменную без использования VAR, даже если она находится внутри функции, она все равно будет

Автор оригинала: 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 переменные определения и подъема