JavaScript solo tiene alcance de función; Cada función tiene una cadena de alcance que llega directamente al objeto de la ventana.
La búsqueda de variables se busca desde el interior hasta la capa exterior, y se detendrá cuando se encuentre.
Al mismo tiempo, no solo puede encontrar y usar, sino también cambiar variables externas.
La copia del código es la siguiente:
var color = "azul";
function changeColor () {
var otro Color = "rojo";
function swapColors () {
var tempcolor = otherColor;
otro Color = color;
color = tempcolor;
}
swapcolors ();
}
Changecolor ();
console.log (color); // Las variables externas "rojas" no solo se pueden acceder sino también modificadas