.
El Scope de una variable se refiere al rango o alcance en que una variable puede utilizarse, el cual depende de donde fue declarada.
.
Las variables que han sido declaradas fuera de cualquier función tienen scope global. Esto significa que dicha variable podrá utilizarse en cualquier lugar deldocumento de JavaScript
.
En el ejemplo siguiente se muestra que la variable myGlobal
, con scope global, puede ser accedida desde dentro de una función.
var myGlobal = 10;
functionfun1(){
return myglobal + 5;
}
func1(); //15
.
Las variables que son declaradas dentro de una función, sólo podrán ser utilizadas dentro de dicha función, es decir tendrán scope local.
functionmyLocalScope() {
var myVar;
console.log('inside myLocalScope', myVar);
}
console.log(myVar) // Esto arrojará un error, ya que myVar sólo puede se accedida desde dentro de la función
.
Si tienes dos variables con el mismo nombre, pero una con scope global y otra con scope local, la variable con scope local tendría preferenecia dentro de su función.
.
En el ejemplo siguiente, la función retornará el string "Sweater"
, que es el valor de la función con scope localouterWear
, pese a que existe otra función con el mismo nombre y scope global.
.
var outerWear = "T-Shirt";
functionmyOutfit() {
var outerWear = "Sweater";
return outerWear;
}
myOutfit(); // "Sweater"
En el primer ejemplo, cómo fue que te funcionó el return? pues escribiste la variable con minúscula: myglobal en vez de myGloblal como la definiste al inicio.