Por que esse código JavaScript imprime "indefinido" no console?
Eu tenho o seguinte código JavaScript:
<code>var counter = 0; function printCounter(){ console.log("counter=" + ++counter); setTimeout(printCounter, 1000); } printCounter(); </code>
Espero que ele deve imprimir esta saída:
<code>counter=1 counter=2 counter=3 ... </code>
Mas em vez disso, imprime a seguir:
<code>counter=1 undefined // <-- Notice this "undefined" counter=2 counter=3 ... </code>
Por que imprime "indefinido" após a primeira iteração? Importante: vejo esse comportamentosó quando o código é executado no console do JavaScript. Se é a parte de uma página, funciona bem.