Hola
anac:
Como te dice
caricatos (
), su script funciona.
Tienes que cerciorarte de que llamas a
inicializar_hora() antes que
mostrar_hora(), sino es lógico y normal que las variables no tengan valor aún:
Código PHP:
var hora_global;
var minuto_global;
var segundo_global;
function inicializa_hora() {
var fecha = new Date();
hora_global =fecha.getHours();
minuto_global = fecha.getMinutes();
segundo_global = fecha.getSeconds();
}
function mostrar_hora() {
alert("hora_global = "+hora_global+"\rminuto_global = "+minuto_global+"\rsegundo_global = "+segundo_global);
}
mostrar_hora(); // no tienen valor
inicializa_hora(); // inicializamos su valor
mostrar_hora(); // deben tener valor
Da igual que tus archivos estén dentro de un documento html o uno js, pero sólo has de fijarte en eso: Haberles dado a tus variables valor antes de leerlas (esto incluye tener cuidado con cuándo se ejecutan tus funciones: si es cuando se está cargando la página, o en el
window.onload o en algún evento disparado).
También por si acaso revisa que no tocas esas variables de nuevo en el script, no vaya a ser que las vuelvas a inicializar dentro de la función desde la que la llamas o... Este ejemplo devolverá las dos veces
undefined:
Código PHP:
var yo;
function ini() {
yo = "paco";
}
function lee() {
var yo;
alert(yo);
}
lee();
ini();
lee();
Ya que dentro de
lee() estamos
declarando de nuevo como variable local la variable global
yo, luego lo que alertamos es la variable local, a la global no tendremos acceso (únicamente con
window.yo).
No se me ocurre qué más decirte, debería funcionar...
Saludos.