Las funciones setInterval() y setTimeout() en javascript.

Feliz 2017 a todos, esta es la primera entrada del año. Una cuestión sencilla de javascript ¿para qué valen las funciones setInterval() y setTimeout() y en qué se diferencian?

Pues ambas funciones tienen el mismo objetivo: ejecutar otra función pasado un intervalo de tiempo. ¿En qué se diferencian? En que setTimeout() se ejecutará solamente una vez, mientras que setInterval() lo hará en repetidas ocasiones.

Por ejemplo, podríamos usar setInterval() para que se mostrara en pantalla cuántos segundos llevamos desde que se cargó la página:

/*definimos una función que cada ponga en un
cuadro de texto un valor numérico, sumando uno cada
vez que la invocamos*/
function showSeconds(){
 var val = document.getElementById("tiempo").value;
 document.getElementById("tiempo").value = parseInt(val)+1;
}
/*usamos setTimeout() para que se
ejecute cada segundo (1000 milisegundos como parámetro)*/
setInterval(showSeconds,1000);

O podríamos usar setTimeout() para dar un aviso al usuario a los diez segundos de entrar

/*función que sólo hace un alert*/
function funcAvisa(){
 window.alert("Pareces interesado en esta sección");
}
/*se la llama a los 10 segundos*/
setTimeout(funcAvisa,10000);

Así funcionan los dos temporizadores de Javascript.

Anuncios

Un comentario en “Las funciones setInterval() y setTimeout() en javascript.

  1. jesus

    hola que tal, como puedo obtener tiempo de actualización desde un JSON

    setTimeout(funcAvisa,10000);

    setTimeout(funcAvisa,JSON.actualiza);

    var tiempo = 0;

    function principal
    {
    leerJson();
    setTimeout(funcAvisa,tiempo);

    }

    leerJson()
    {
    var xmlhttp = new XMLHttpRequest();
    etc
    etc
    var arreglo = JSON.Parse
    for(arreglo)
    {
    tiempo = arreglo[i].Actualizacion; //almacena el tiempo para cada actualización
    }

    }

    Como le puedo hacer para que tome el valor “actualización” desde la primer corrida, ya que cuando inicia el ciclo “tiempo” siempre es igual a 0,

    ¿me puedes ayudar?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s