setTimeout()がループする理由

2017年2月24日
ユーザー
var i = 0;
function show() {
    console.log(i++);
    var tid = setTimeout(function() {
        show();
    }, 1000);
}
show();

こちらを実行をすることで、なぜ setTimeout 関数が繰り返されるのかいまいち理解できません。
setTimeout 関数自体は 1 度しか繰り返さないのではないでしょうか?

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?