この手の話題は記事タイトルが本当につけにくい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