次のコードセグメントは、JavaScriptを使用した再帰呼び出しを示しています。JavaScriptでの再帰の影響
function timedCount()
{
document.getElementById('txt').value=c;
c=c+1;
t=setTimeout("timedCount()",1000);
}
ソースはhereです。
私の質問:これはスタックのビルドアップにつながり、その後スタックオーバーフローにつながることはありませんか?私はこれがPascalやC/C++のような言語で確実にクラッシュすることを知っています。
ありがとうございました。
これは正しくありません。どちらも同じことをしません。 setIntervalは各呼び出しの間にmsecsの時間を強制しますが、擬似再帰的なsetTimeoutはmsecs内で衝突する2つの実行を防ぎ、実行するコードがmsecsより長くなければならない場合に同時に実行されます。 – glmxndr
@subtenante:私は彼に 'setInterval()'の使用をどこで言いましたか?これは両方のケースの一般的なテキストです。私は 'setTimeout'を使ってその例を与えました。しかし、私はそれを明確にするために更新します。 – ThiefMaster
@ThiefMaster私はコールバックを使用するコンセプトに感謝します。私は再帰的なルーチンにもっと熱心でした。 私が知っているから、それ自身を呼び出す関数は再帰です。どのようにそうではないと言いますか?再度、感謝します! – itsols