buenas,
lo primero es que en javascript las variables siempre son de ambito global a no ser que se declare la variable de forma explicita con el keyword
var. en este caso, para que
global dentro de
numero no escriba en
global (exterior), debes declarar la variable con
var.
Código:
global = 'es global';
function numero(x){
var global = x;
}
function alerta(){
alert(global);
}
numero('es local');
alerta();
el otro aspecto es que las variables locales tienen un periodo de "vida" (existencia) y un alcance (scope) el cual prohibe el acceso a codigo fuera de la funcion. el periodo de vida es mientras la funcion este en ejecuccion, luego de la ejecuccion las variables se destruyen. en fin, basandonos en el ejemplo, la funcion externa (
alerta) no puede leer la variable
global de
numero porque
alerta no se encuentra en el mismo alcance que la variable. por tanto,
alerta solo puede usar la variable que tiene como valor
"ALGO".