以下のコードにおいて、
function show() {
console.log(i++);
var tid = setTimeout(function() {
show();
}, 1000);
if (i > 3) {
clearTimeout(tid);
}
}
4行目の show()
によって関数 show
が再度実行されるのは分かるのですが、そうなると6行目の if 文にたどり着く前に show
が改めて最初から実行されてしまい、 if 文にたどり着けないような気がします。なぜ if 文が実行されるのかを教えてください。
この回答を見るにはプレミアムサービスへの登録が必要です
プレミアムサービスとは?