私は次の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
...
最初の反復後に「未定義」と出力されるのはなぜですか?
重要:このような動作は、コードがJavaScriptコンソールで実行された場合にのみ表示されます。それがページの一部である場合、それは正常に機能します。