consideri il seguente esempio:JavaScript setTimeout() non aspetterà di eseguire?
<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>
Cos'è che causa questo per eseguire IMMEDIATAMENTE, piuttosto che aspettare i 3 secondi impostati, così come solo eseguendo l'avviso UNA VOLTA, piuttosto rispetto agli intervalli programmati di 5 secondi?
Grazie per l'aiuto che puoi fornire!
Mason
Beh, ** la richiamata viene richiamato immediatamente ** (e il risultato * * è passato a 'setTimeout') .. passare la funzione -object invece. –
Questa è probabilmente la domanda javascript più richiesta su SO. – jfriend00
@ jfriend00 Penso che le variabili chiuse in loop potrebbero legarlo .. ;-) –