JavaScript アドバンス

JavaScript タイマー処理

1. setTimeout() メソッド

setTimeout() メソッドは、指定したミリ秒(Milliseconds)の経過後に関数を実行するようスケジュールします。
これは、ブラウザをフリーズさせることなくコードの実行を遅らせるために使用される非同期操作(Async operation)です。

2. タイムアウトの待機

setTimeout() メソッドを使用する場合、タイムアウト時に実行される関数を指定できます。

setTimeout(myFunction, 3000);

function myFunction() {
  document.getElementById("demo").innerHTML = "大好きです!!";
}

上記の例では、myFunctionsetTimeout()引数(Argument)として渡されています。
3000 は、myFunction が呼び出されるまでのミリ秒数です。

関数を引数として渡すときは、括弧 () を使用しないように注意してください。

  • 正しい: setTimeout(myFunction, 3000);
  • 間違い: setTimeout(myFunction(), 3000);

別の関数に引数として関数名を渡す代わりに、関数全体を直接渡す(匿名関数を使用する)ことも可能です:

setTimeout(function() { myFunction("大好きです!!!"); }, 3000);

function myFunction(value) {
  document.getElementById("demo").innerHTML = value;
}

3. インターバル(一定間隔)の待機

setInterval() メソッドを使用すると、各インターバルごと(一定間隔)に実行される関数を指定できます。

setInterval(myFunction, 1000);

function myFunction() {
  let d = new Date();
  document.getElementById("demo").innerHTML=
  d.getHours() + ":" +
  d.getMinutes() + ":" +
  d.getSeconds();
}

上記の例では、myFunctionsetInterval() に引数として渡されています。
1000 は、myFunction が呼び出されるまでの間隔を表すミリ秒数です(この場合は1秒ごとに