> 2015/01/29 (木) 11:36:28 ◆ ▼ ◇ [qwerty]> > 完全カプセル化
> function Counter(cnt) {
> var count = cnt;
> return function() { // 無名関数→これがクロージャじゃ!
> return ++count; // スコープチェーンにより外部ローカル変数countを参照
> };
> }
> var f1 = Counter(0);
> console.log(f1()); // 1
> console.log(f1()); // 2
> console.log(f1()); // 3
>
> var f2 = Counter(10);
> console.log(f2()); // 11
> console.log(f2()); // 12
> console.log(f2()); // 13
> console.log(f1()); // 4
> console.log(f2()); // 14
> これがクロージャだ
はっきり言ってjsだとメモリリークするので使わない方がいい
記述は楽になるんだが
参考:2015/01/29(木)11時35分11秒