>  2015/01/29 (木) 11:35:11        [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

これがクロージャだ

参考:2015/01/29(木)11時34分14秒