Explication des variables globales dans JavaScript

Les variables globales sont déclarées en dehors d'une fonction pour l'accessibilité dans tout le programme, tandis que les variables locales sont stockées dans une fonction à varutiliser uniquement dans la portée de cette fonction. Si vous déclarez une variable sans utiliser var, même si elle est à l'intérieur d'une fonction, elle sera toujours considérée comme globale:

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); }

Une variable globale est également un objet de la portée actuelle, comme la fenêtre du navigateur:

var dog = “Fluffy”; console.log(dog); // Fluffy; var dog = “Fluffy”; console.log(window.dog); // Fluffy

Il est recommandé de minimiser les variables globales. Puisque la variable peut être accédée n'importe où dans le programme, elles peuvent provoquer un comportement étrange.

Références:

  • var -Javascript | MDN
  • Vous ne connaissez pas JavaScript: portées et fermetures

Quelle est la différence entre une variable globale et une variable window.variable en javascript?

La portée des variables JavaScript est globale ou locale. Les variables globales sont déclarées EN DEHORS de la fonction et sa valeur est accessible / modifiable dans tout le programme.

Vous devez TOUJOURS utiliser var pour déclarer vos variables (à faire localement) sinon il installera GLOBALEMENT

Faites attention aux variables globales car elles sont risquées. La plupart du temps, vous devez utiliser des fermetures pour déclarer vos variables. Exemple:

(function(){ var myVar = true; })();

Plus d'information:

  • Guide visuel des définitions et de la portée des variables JavaScript
  • Introduction aux définitions de variables JavaScript et au levage