Warum wird dieser JavaScript-Code auf der Konsole als "undefiniert" ausgegeben?
Ich habe folgenden JavaScript-Code:
<code>var counter = 0; function printCounter(){ console.log("counter=" + ++counter); setTimeout(printCounter, 1000); } printCounter(); </code>
Ich erwarte, dass es diese Ausgabe drucken sollte:
<code>counter=1 counter=2 counter=3 ... </code>
Stattdessen wird Folgendes ausgegeben:
<code>counter=1 undefined // <-- Notice this "undefined" counter=2 counter=3 ... </code>
Warum wird nach der ersten Iteration "undefiniert" gedruckt? Wichtig: Ich sehe ein solches Verhaltennur wenn der Code in der JavaScript-Konsole ausgeführt wird. Wenn es der Teil einer Seite ist, funktioniert es gut.