
En JavaScript, las variables tienen un alcance de visibilidad que se llama scope. Es una noción importante en JavaScript, porque es una fuente habitual de errores: según dónde declares la variable, su scope cambia. Si la declaras dentro de una función, solo podrás usarla en esa función. Hay dos tipos de variables, las variables locales y las variables globales.
var tutu = "tutu"; // 1
function maFonction() {
var toto = "toto"; // 2
return toto;
}- tutu es lo que llamamos una variable global: se puede usar en cualquier parte del script, funciones incluidas.
- toto también es una variable, pero local: no se puede usar fuera de su función.
Variables locales
Cuando creas una variable local, es decir, una variable declarada dentro de una función con var, solo puedes usarla dentro de esa función. Se dice que esa variable es local, o que su alcance es el de la función donde se declaró. No se puede leer desde fuera. El navegador crea las variables locales al ejecutar la función y las elimina en cuanto la función termina. Dos cosas más que conviene saber:
- Dos funciones distintas pueden usar variables con el mismo nombre sin provocar ningún conflicto de nombres.
- Si la función se llama varias veces, la variable puede tener un valor diferente en cada llamada.
Variables globales
Las variables globales se pueden usar en cualquier parte del script, se declaran fuera de toda función. Se dice que su alcance es global.
Las variables globales se guardan en la memoria del navegador. Por tanto ocupan más memoria que las locales y aumentan el riesgo de colisiones de nombres con otros scripts. Por eso conviene tirar de variables locales siempre que puedas.


