Consideremos el siguiente ejemplo:JavaScript setTimeout() no esperará a ejecutar?
<script type="text/javascript">
function alertBox(){
alert('Hello World!');
}
function doSomething(){
setInterval(alertBox(), 5000); //This is for generic purposes only
};
function myFunction(){
setTimeout(doSomething(),3000);
};
myFunction();
</script>
Qué es lo que hace que este se ejecute INMEDIATA, en lugar de esperar establecen los 3 segundos, así como única ejecución de la descripción VEZ, en vez que en los intervalos programados de 5 segundos?
¡Gracias por cualquier ayuda que pueda proporcionar!
Mason
Bueno, ** la devolución de llamada se invoca inmediatamente ** (y el resultado * * se pasa a 'setTimeout') .. pasar la Función -objeto en su lugar. –
Esta es probablemente la pregunta de javascript más solicitada en SO. – jfriend00
@ jfriend00 Creo que las variables cerradas en bucles podrían vincularlo ... ;-) –