Обяснени глобални променливи в JavaScript

Глобалните променливи се декларират извън функция за достъпност в цялата програма, докато локалните променливи се съхраняват във функция, използвайки 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 и повдигане