Js のタイマーの仕組みについて教えてください。

JavaScriptでは、setTimeout()関数とsetInterval()関数でタイマーを作成できます。

setTimeout() 関数は、指定した時間間隔の後に指定した関数を一回実行するために使われます。これは二つの引数を受け付けます: 実行する関数と遅延時間(ミリ秒単位)。遅延時間が経過すると、渡された関数が実行されます。

setInterval()関数は、指定された時間間隔で指定された関数を繰り返し実行するために使用します。2つのパラメータを受け取ります。実行する関数と時間間隔(ミリ秒単位)。時間間隔が経過すると、関数が再び実行されます。

どちらの関数も、ブラウザのタイマーAPI を使用して、ほぼ同じように動作します。setTimeout() や setInterval() が呼び出されると、ブラウザはタイマーを作成して、対応する関数を実行キューに追加します。指定された遅延時間や時間間隔に達すると、ブラウザは実行キューから関数を取得して実行します。

JavaScript は単一スレッドのため、同時に1つの処理しか実行できないことに注意してください。タイマーがトリガーされた場合、関数は実行キューに追加されますが、タイマー内の関数は前のすべてのタスクが完了した後にのみ実行されます。つまり、前のタスクに時間がかかった場合は、タイマー内の関数が遅延する可能性があるということです。

また、関数が実行されるときも値を返しますが、その値は破棄されます。タイマーの識別子のみが必要な場合は、setTimeout()関数またはsetInterval()関数の戻り値を取得できます。

簡単に言えば、タイマーはブラウザのタイマーAPIを使用して一定の時間で特定の関数を呼び出すことで機能します。

bannerAds