2
Javascript diesen Code sofort jedoch ausgeführt wird, muss ich es 2 Millisekunden warten, bevor sie ausgeführt wird, wie in setTimeout(doIt(i),2000);
SetTimeout sofort Ausführung
scripted Warum?
<script type="text/javascript">
var colors= ["red","pink","green"];
function doIt(i){
i++
console.log(i);
console.log("didIt");
$('body').append("<style>body{background:"+i+";}</style>");
if(i==2){
}
else{
test(i);
}
}
function test(i){
setTimeout(doIt(i),2000);
}
test(0);
</script>
'setTimeout' erstes Argument ist eine Referenz zu einer Funktion – zerkms
Differenz e zwischen einem Funktionsausdruck und einem Funktionsaufruf: die Klammern. Einer ist eine Funktion, der andere ist ein Wert, der von der Funktion zurückgegeben wird. –
Tutorial hier: http://www.jquerybyexample.net/2014/11/javascript-settimeout-executes-function-immediately.html – Jaime