[ Javascript ] setTimeout 関数で一定時間経過後に実行される関数を登録する

Pocket

Javascript の setTImeout 関数を使用して、一定時間経過後に処理が開始される関数を登録することができます。ここでは setTimeout 関数の使用例を掲載しています。

スポンサーリンク

setTimeout 関数の使用サンプル
function wakeup()
{
    // 3秒後に関数 bel をコールする
    setTimeout('bel()', 3000);
}

function bel()
{
    alert('ジリジリジリジリ・・・');
}

HTML から wekeup 関数を呼び出してサンプルを実行します。

<input type="button" value="起きなさい" onclick="wakeup();" />
setTimeout メソッドにパラメータつきの関数を登録する

setTimeout で登録する関数に引数を渡す方法の1つのサンプルです。引数付の関数を登録するのではなく、引数付で呼び出すラッパ関数を登録しています。つまり正確には引数付の関数を setTimeout に登録しているわけではありませんが、イメージは近いのではないでしょうか。

function wakeup(name)
{
    // パラメータを渡すラッパー関数
    var wrapper = function () {
        var now = new Date(); // 現在日時を取得(Dateオブジェクト)
        
        // ラッパ関数内で引数付で実処理をコールする
        bel(name, now)
    }
    // 3秒後に関数 wrapper をコールする
    setTimeout(wrapper, 3000);
}

function bel(name, now)
{
    alert(name + ' ' + now.getDate() + '日です。 ジリジリジリジリ・・・');
}

前述のように HTML から呼び出します。

<input type="button" value="起きなさい" onclick="wakeup('オトタケ君');" />

なぜかサンボマスターの「世界はそれを愛と呼ぶんだぜ」を思い出しました

 

スポンサーリンク


Pocket

One thought on “[ Javascript ] setTimeout 関数で一定時間経過後に実行される関数を登録する”

  1. Pingback: [ Javascript ] タイマーの生成と解除 ( setInterval / clearInterval ) – 勉強ダイエット

Leave a Comment

Your email address will not be published. Required fields are marked *