javascript closure
jsのクロ―ジャとは
「ローカル変数を参照している、
関数の中に定義している関数」
function countNum(num) { var local_num = num; var local_func = function() { return local_num++; } return local_func; } var myCountNum = countNum(10); console.log(myCountNum());//10 console.log(myCountNum());//11 console.log(myCountNum());//12
クロージャの実体は関数の中のローカル関数。
通常、関数の中で定義されるローカル変数は、
関数の処理が終わるとその時点で破棄される。
ただ上記のように、myCountNumがlocal_numを参照し続けている場合、
local_numは、myCountNumが有効な限り破棄されない。