setTimeout(func, t)

     @mtknnktm
setTimeout(func, t)って?
→ブラウザのwindowオブジェクトの関数(API)
 →ブラウザで動作するJavaScriptから使う
setTimeout(func, t)って
      なにするの?
    →ぐぐって一番目のサイトには
「指定されたtミリ秒後に指定されたfunc処理
を実行します。戻り値としてタイマーIDが返さ
     れます。」って書いてあった
JavaScriptはシングルスレッド
  →setTimeout(func, 1000)とかしても,
               その次に
while(true){console.log('なんかしてる');}
         とかしたらどうなるの?
1000ミリ秒後に実行されない!?

function foo() {                                 終わらない…
    setTimeout(function()
        {alert('Yeah!');}, 1000);        foo()
    while(true) {                   function(alert…)
        console.log('なんか処理');
    }                                始まらない…
}
function bar() {なんか処理}

foo();
bar();
0ミリ秒後を指定すると?
                                              1秒くらいと
function foo() {                              0.5秒くらい
    setTimeout(function()
        {alert('Yeah!');}, 0);        foo()
    //なんか1秒くらいの処理                     bar()
    fooFunc();
                                 function(alert…)
}
function bar() {                  1.5秒くらい
    //なんか0.5秒くらいの処理               後にスタート
}
foo();
bar();
setTimeout(func, t)って
      なにするの?
→指定されたtミリ秒後に指定されたfunc処理
     を実行キューに詰め込む
    →関数を非同期に実行する
シングルスレッドならでは

    → 楽しい
setTimeoutの楽しみ方の例
  ● 実行中の処理が全て終わった後に、後処理をする
      ○ 処理の実行順を制御できないライブラリ/フレームワークをな
        んとかしたいときに使う
バブリング終了後にalert('A')をする例
<div>
    <a>あと</a>
</div>
                                            1. B!
$('div').click(function(e){alert('DIV');}); 2. DIV!
$('a').click(function(e){                   3. A!
    setTimeout(function(){alert('A');}, 0);
    alert('B');
});
Fin

  

More Related Content

PDF
Goの文法の実例と解説
PDF
Python で munin plugin を書いてみる
PDF
JavaScript入門
PDF
Visual C++コード分析を支えるSAL
PPTX
前期講座09
PPTX
Javascript basic code
PDF
pecoを使おう
PDF
Goの文法の実例と解説
Python で munin plugin を書いてみる
JavaScript入門
Visual C++コード分析を支えるSAL
前期講座09
Javascript basic code
pecoを使おう

What's hot (18)

PDF
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
PDF
OpenCM IDE、OpenCM 485 EXPを用いてのDynamixel Xシリーズの制御
PDF
エキ Py 読書会02 2章後半
PPTX
About chtMultiRegionFoam
PDF
dofilewrite and vn_write
PDF
ALPSチュートリアル(6) Matplotlib入門
PPT
Altanative macro
PPTX
ゼロからプログラミング講座(Perl) #1 @越谷 講義ノート
PPTX
第二回サーバー勉強友の会
PDF
Vim の話
PDF
ちょっと詳しくJavaScript 特別編【悪霊の神々】
PDF
cdev_write and_comwrite
PPTX
Swift 2.0 変更点(だいたい)まとめ
PDF
Python02
PDF
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
PPTX
ループその3
PDF
メタプログラミングRubyはこの付録が美味しい
PPTX
Kiso sekkei 01rev03
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
OpenCM IDE、OpenCM 485 EXPを用いてのDynamixel Xシリーズの制御
エキ Py 読書会02 2章後半
About chtMultiRegionFoam
dofilewrite and vn_write
ALPSチュートリアル(6) Matplotlib入門
Altanative macro
ゼロからプログラミング講座(Perl) #1 @越谷 講義ノート
第二回サーバー勉強友の会
Vim の話
ちょっと詳しくJavaScript 特別編【悪霊の神々】
cdev_write and_comwrite
Swift 2.0 変更点(だいたい)まとめ
Python02
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
ループその3
メタプログラミングRubyはこの付録が美味しい
Kiso sekkei 01rev03
Ad

Similar to setTimeout関数の楽しみ (10)

ODP
Boost9 session
PPTX
Node.js - JavaScript Thread Programming
PDF
About Jobs
PDF
Replace Output Iterator and Extend Range JP
PDF
Swift 2.0 で変わったところ「後編」 #cswift
PPTX
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
PDF
Twitter sphere of #twitter4j #twtr_hack
KEY
LT at JavaOne2012 JVM language BoF #jt12_b101
PDF
Ylug 110th kpatch code reading
PDF
JavaFXでマルチタッチプログラミング
Boost9 session
Node.js - JavaScript Thread Programming
About Jobs
Replace Output Iterator and Extend Range JP
Swift 2.0 で変わったところ「後編」 #cswift
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
Twitter sphere of #twitter4j #twtr_hack
LT at JavaOne2012 JVM language BoF #jt12_b101
Ylug 110th kpatch code reading
JavaFXでマルチタッチプログラミング
Ad

setTimeout関数の楽しみ