JavaScriptのクロージャー
jsでクロージャーが理解できるとかなりできることが増えるらしいです。
教わってきたのでメモ代わりに。
クロージャーっていうのは関数を返す関数です。
下のコードは関数を叩くたび数字が+1されていきます。
function hoge(){ var x = 0; //関数hogeの中で変数xを定義 return function(){ x++; //hogeを呼び出すたびにx++された処理を返す console.log(x); } } var x = hoge(); x(); //1 x(); //2 x(); //3
一回目だけtrueを返すとか、もできます。
function hoge() { var x = false; return function () { if (x) { console.log('false'); } else { console.log('true'); } x = true; } } var x=hoge(); x(); //true x(); //false x(); //false