JavaScriptではスリープ機能は提供されていませんが、この機能は今後も活用していきたいと思います。
1 つのアイデアは、ループを実行し、プログラムに CPU 時間を消費させて遅延を実現することです。これには、マシンごとに CPU の実行速度が異なるため、遅いマシンが長時間スリープしてしまう可能性があるという欠点があります。
著者は他のフォーラムから賢明な解決策を見つけました。異なるマシン上でも実行速度は一貫しています。ここでみんなと共有してください。
function sleep(n)
{
var start=new Date().getTime();
while(true) if(new Date().getTime()-start>n)
}
もちろん、この方法でも CPU のアイドル状態に依存します。
もう 1 つの方法は、setTimeout() 関数を使用することです。
関数の構文は次のとおりです: setTimeout(code,millisec)
使用例:
var t=setTimeout("alert('5 秒!')", 5000)
このコードの機能は、ミリ秒後にコードを実行することです。この例では、アラート関数は 5000 ミリ秒後に実行されます。睡眠と同じ効果も得られます。