このクロージャの使い方を忘れてしまうのでメモしておく。 ループ処理の中でイベントを割り当てる場合に、ループカウンタが回り切ったものが適用されてしまう問題の解決方法。 デモ JavaScript コード /* クロージャを使わない場合(カウンタが回り切った値 3 が表示される) */ for (var i = 0; i < 3; i++) { $('#action1-'+i).click(function() { $('#msg1').text('Action' + i); }); } /* クロージャを使った場合 */ for (var i = 0; i < 3; i++) { var func = (function (index) { return function() { $('#msg2').text('Action' + index); }; })(i); $('#action2