JavaScriptプログラムに関する各種メモ書き

JavaScriptのSetTimeoutで 疑似sleep(遅延実行) を実現する

● JavaScriptの setTimeout を使って遅延実行する

setTimeout( function() {
    console.log('aaa');
    console.log('bbb');
}, 1500 );
console.log('ccc');

結果

ccc
aaa
bbb

※ 正確には setTimeoutは遅延実行です。(指定時間たってから実行するようタイマーをセットする。) 上記の例ですとブラウザのコンソールに 'ccc' と表示されてから 1.5秒後にaaa, bbb が表示されます。

● setTimeout に変数を渡す

setTimeout で 呼び出す関数に引数を渡すには遅延時間の後に引数を渡します。

for (var i = 0; i < 10; i++) {
    setTimeout( function(data) { document.write(data+"<br>\n"); }, i*500, i );
}

●settimeout に オブジェクトのメソッドを指定する

my_method : function() {
    var _this = this;
    this.timer_id = setTimeout( function(){ _this.method(); },500);
}

No.279
10/10 17:20

edit