Почему этот код JavaScript выводит на консоль «undefined»?

У меня есть следующий код JavaScript:

var counter = 0;
function printCounter(){
   console.log("counter=" + ++counter);
   setTimeout(printCounter, 1000);
}
printCounter();

Я ожидаю, что он должен печатать этот вывод:

counter=1
counter=2
counter=3
...

Но вместо этого он печатает следующее:

counter=1
undefined  // <-- Notice this "undefined"
counter=2
counter=3
...

Почему он печатает «undefined» после первой итерации? Важно :Я вижу такое поведение только при выполнении кода в консоли JavaScript. Если это часть страницы, то все работает.

6
задан Anton Moiseev 21 April 2012 в 21:37
поделиться