Las variables globales se declaran fuera de una función para la accesibilidad en todo el programa, mientras que las variables locales se almacenan dentro de una función var
que se usa solo dentro del alcance de esa función. Si declara una variable sin usar var
, incluso si está dentro de una función, aún se verá como global:
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); }
Una variable global también es un objeto del ámbito actual, como la ventana del navegador:
var dog = “Fluffy”; console.log(dog); // Fluffy; var dog = “Fluffy”; console.log(window.dog); // Fluffy
Es una buena práctica minimizar las variables globales. Dado que se puede acceder a la variable en cualquier parte del programa, pueden provocar un comportamiento extraño.
Referencias:
- var -Javascript | MDN
- No sabe JavaScript: alcances y cierres
¿Cuál es la diferencia entre una var global y una window.variable en javascript?
El alcance de las variables de JavaScript es global o local. Las variables globales se declaran FUERA de la función y su valor es accesible / modificable en todo el programa.
SIEMPRE debe usar var para declarar sus variables (para hacer localmente) de lo contrario se instalará GLOBALMENTE
Cuidado con las variables globales porque son riesgosas. La mayoría de las veces debe usar cierres para declarar sus variables. Ejemplo:
(function(){ var myVar = true; })();
Más información:
- Guía visual de definiciones y alcance de variables de JavaScript
- Introducción a las definiciones de variables de JavaScript y la elevación