jQueryを使用して匿名クラスを使用した場合にエンクロージャー変数をコールすると変数の解決ができないエラーとなる。

解決する方法をメモ

下記がエンクロージャーエラー状態

$(function(){
ver i = 1;
$("test").click(function(){
	alert(i);
});
});

解決方法

$(function(){
ver i = 1;
$("test").click({num : i}function(event){
	alert(event.data.num);
});
});

引数が多数ある場合はカンマ区切りで{num1 : 1,num2 : 2}

これでクロージャエラーを回避。ただクロージャはメモリ上あまりよくないといわれているが、
しかし、コードがすっきりするので気にしない

参考
http://naoyashiga.hatenablog.com/entry/2013/10/22/150030

その他おすすめの備忘録

コメントを残す