ブックマーク / lealog.hateblo.jp (3)

  • forループの中でsetTimeoutしたらiはどうなるか - console.lealog();

    この手の話題は記事タイトルが当につけにくいw 今回も備忘メモです。 for(var i = 0; i < 3; i++) { setTimeout(function(){ console.log(i); }); } このコード、実行するとどうなるでしょう? こうなる for(var i = 0; i < 3; i++) { setTimeout(function(){ console.log(i); }); // 3 が3回 } 思ってたのとちがう! こうすればOK for(var i = 0; i < 3; i++) { (function(local){ // とじこめる setTimeout(function(){ console.log(local); }); }(i)); // とじこめる! } すごーくざっくりした理解ですが、 JavaScriptはシングルスレッド setT

    forループの中でsetTimeoutしたらiはどうなるか - console.lealog();
    jislotz
    jislotz 2014/09/11
    知らなきゃハマる事もあるかもしれない。
  • Handlebars.jsの基本的な使い方のメモ - console.lealog();

    便利ですよね、Handlebars。 でも日語の記事が案外なかったり、公式のドキュメントがいまいちアレだったりするので、自分用にまとめます。 それがどこかで誰かの役に立てば、それはそれで幸いです。 基的な使い方 インストールとかは割愛。 だって読み込むだけやし・・・。 で、そこからは テンプレート・ひな形となるHTMLを用意 そのHTMLをHandlebarsにわせる 動的にはめ込む値をつっこむ 基的にはこの3ステップです。 Html <!-- 略 --> <script id="input" type="text/x-handlebars-template"> <section class="inner"> <h1 class="header">{{title}}</h1> <div class="box"> <img src="{{img.url}}" alt="{{img.a

    Handlebars.jsの基本的な使い方のメモ - console.lealog();
  • JavaScriptのカスタムイベント - console.lealog();

    JavaScriptでよくある、 そんなユーザーインプットが行われたわけではないが、それをエミュレートしたい時 各クラス間を疎結合に保ったまま、データのやりとりに独自のイベントを使いたい時 そんな時などに使われるだろうアレです。 MDNくらいしか検索しても情報出てこないので、個人的にまとめ。 参考:Creating and triggering events - Web developer guide | MDN キホンのやつ // いつもどおりなんやかんや書いて elm.addEventListener('touchstart', function() { alert('touch!'); }, false); // イベント作って var ev = new Event('touchstart'); // 発火! elm.dispatchEvent(ev); とまあこんな簡単にできちゃう

    JavaScriptのカスタムイベント - console.lealog();
  • 1