備忘録的プログラミングリファレンス

setInterval() メソッド

window.setInterval()

 setInterval() メソッドは、指定されたミリ秒(1/1000 秒)ごとに指定されたコールバック関数を呼び出す、または数式を実行する Window オブジェクトのメソッドです。

 このメソッドは、チャットやブラウザゲームのように web ページが常に変化する場合に、サーバーに定期的にリクエストを送って変化したページを受け取るといったことに使用できます。

 クリアするためには clearInterval() メソッドを使います。

setInterval() メソッド
var id = setInterval( get_example, 1000 );

詳しくは Example を参照してください

 上記の例は window オブジェクトの指定を省略しています。

 setInterval() メソッドは定期的にサーバーにリクエスを送ることに利用することができます。 詳しくは以下のsetInterval() メソッドによる定期リクエストを参照してください。

 似たメソッドに setTimeout() があります。setTimeout() は指定時間後に関数や数式を実行します。

ページ内 Index

setInterval() メソッドによる定期リクエスト

 setInterval() メソッドは、チャットやブラウザゲームのように web ページが常に変化する場合に、サーバーに定期的にリクエストを送ってその変化のあったページを受け取ることができます。

 ブラウザは双方向通信ではないために、クライアントからリクエストを出さない限りはサーバーからレスポンスはありません。 そのために、サーバーで何らかの変化があってもクライアントで知ることができません。

 ユーザーがブラウザから web ページをリクエストするとサーバーからその web ページが送らます。ブラウザからリクエストが無い限りは、サーバーから web ページを送ってきません。 そのために、ページの内容が常に変化するようなチャットやブラウザゲームのような場合に その内容に変化があってもユーザーは知ることができません。 ブラウザに web ページに変化があったことをサーバーが知らせてくれる機能がないためです。

 このことを解消するためにブラウザから定期的にリクエストをサーバーに出すか、Node.js といったサーバーサイド JavaScript を利用します。

 Ajax でインタラクティブに web ページを変化させるには、Node.js との連携を行うか、Ajax 内で setInterval() メソッドを使用します。
 Ajax 内で setInterval() メソッドを使用する方法は、web ページの一部のみを常に変化させることができます。

Syntax

 返り値は設定されたtimeoutのIDです。

ID = setInterval(function, delay, param1, param2, ...)

引数(Parameter Values)

Parameter摘要
function実行する関数
delayOptionalfunction を実行する間隔。ミリ秒単位(1/1000秒)。省略時は0
param1, param2, ...Optional関数に渡す引数

返り値(Return Values)

Type摘要
IDsetIntervalのID

Example

 setInterval() メソッドの例です。以下の確認ボタンをクリックすると 1000 ミリ秒後にコールバック関数を実行します。
 コールバック関数が実行されたら、以下のsetInterval() の ID : に setInterval() 返り値が表示され、メッセージが表示されます。