Betrachten Sie das folgende Beispiel:JavaScript setTimeout() wartet nicht auf Execute?
<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>
Was ist es, diese SOFORT auszuführen verursacht, anstatt die 3 Sekunden eingestellt warten, sowie nur die Warnung ONCE Ausführung eher als in den geplanten 5-Sekunden-Intervallen?
Vielen Dank für Ihre Hilfe!
Mason
Nun, ** der Rückruf wird sofort aufgerufen ** (und das * Ergebnis * auf 'setTimeout' bestanden) .. die Funktion übergeben -Objekt stattdessen. –
Dies ist wahrscheinlich die am häufigsten gestellte Javascript-Frage zu SO. – jfriend00
@ jfriend00 Ich denke, geschlossene Variablen in Schleifen könnte es binden .. ;-) –