¿Por qué este código de JavaScript se imprime "indefinido" en la consola?
Tengo el siguiente código de JavaScript:
<code>var counter = 0; function printCounter(){ console.log("counter=" + ++counter); setTimeout(printCounter, 1000); } printCounter(); </code>
Espero que debería imprimir esta salida:
<code>counter=1 counter=2 counter=3 ... </code>
Pero en cambio imprime lo siguiente:
<code>counter=1 undefined // <-- Notice this "undefined" counter=2 counter=3 ... </code>
¿Por qué se imprime "indefinido" después de la primera iteración? Importante: Veo tal comportamiento.solamente Cuando el código se ejecuta en la consola de JavaScript. Si es la parte de una página, funciona bien.