JavaScript タイマー処理
1. setTimeout() メソッド
setTimeout() メソッドは、指定したミリ秒(Milliseconds)の経過後に関数を実行するようスケジュールします。
これは、ブラウザをフリーズさせることなくコードの実行を遅らせるために使用される非同期操作(Async operation)です。
2. タイムアウトの待機
setTimeout() メソッドを使用する場合、タイムアウト時に実行される関数を指定できます。
setTimeout(myFunction, 3000);
function myFunction() {
document.getElementById("demo").innerHTML = "大好きです!!";
}上記の例では、myFunction が setTimeout() に引数(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();
}上記の例では、myFunction が setInterval() に引数として渡されています。
1000 は、myFunction が呼び出されるまでの間隔を表すミリ秒数です(この場合は1秒ごとに