Home > スポンサー広告 > setTimeoutのメモ

スポンサーサイト

スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/164-35888ef2
Listed below are links to weblogs that reference
スポンサーサイト from Karafuto Blog

Home > スポンサー広告 > setTimeoutのメモ

Home > javascript > setTimeoutのメモ

setTimeoutのメモ

javascript

setTimeoutが実行されるタイミング

windows.setTimeoutは指定された時間(ミリ秒)の後に関数やコードを実行する。

setTimeout(関数, 時間)

setTimeoutの後の行は、setTimeoutの関数を待たず、実行されていく。

opera.postError('before');
setTimeout(function (){opera.postError('setTimeout');}, 100);
opera.postError('after');


エラーコンソール
before
after
setTimeout

setTimeoutの関数は後の行が実行された後指定した時間が来たら実行されるので、時間が来ても後の行の実行が終わっていなければ待つことになる。

opera.postError('before');
setTimeout(function (){opera.postError('setTimeout');}, 100);
for (var i = 0; i < 50000; i ++){
    opera.postError(i);
}


エラーコンソール
before
1
2
------
------
49998
49999
setTimeout

setTimeout内の this

setTimeoutに呼び出される関数内の thisはグローバルオブジェクト(window)になる。

var name = 'global';    // window.name = 'global'
var obj = {name : 'property'};
obj.a = function (){
    alert(this.name);
}
obj.b = function (){
    setTimeout(function (){alert(this.name);}, 100);
}

obj.a();    // 'property'
obj.b();    // 'global'

setTimeoutの関数内でメソッドを呼び出したオブジェクト(this)を参照したい時は、前以て関数のローカル変数に代入しておく。

var name = 'global';
var obj = {name : 'property'};
obj.b = function (){
    var self = this;
    setTimeout(function (){alert(self.name);}, 100);
}

obj.b();    // 'property'

参考

DOM:window.setTimeout - MDC

Comments:0

Comment Form

Trackback+Pingback:0

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/164-35888ef2
Listed below are links to weblogs that reference
setTimeoutのメモ from Karafuto Blog

Home > javascript > setTimeoutのメモ

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。