ここは、ふぇりあ16歳が不定期に連載しているオンライン小説のページです。

VNIふぇりあ16歳へ


ゼロからわかる現代JavaScript

61.無名関数による擬似的プライベート

無名関数は別名クロージャーと呼ばれ
特徴としては、メソッドをリターンできることが上げられます。

それをつかって、多言語にあるプライベートのアクセス制御を
作ってみます。

今回使用するソースコード
//無名関数で囲うことにより、変数を永続化
var Closure = (function () {
  //プライベート変数
  var Counter = 0;

  //プライベートメソッド
  function change(x) {
    Counter += x;
  }
  return {
    //外部からのアクセス用メソッド
    add : function () {
      change(1);
    },
    show : function () {
      return Counter
    }
  }
})();

alert(Closure.show());
//加算して表示するたびに値が上がる
Closure.add();
alert(Closure.show());

難しいですね。

歩イントは外部からのアクセス用メソッドが
リターンされているということです。

実行結果

コラム:

Javascriptでプライベートが必要かといわれると
かなり微妙だと思います。
それならFlashやSilverLightを使った方が早いかも知れません。

(C)著作権はふぇりあ16歳とお兄ちゃんにあります。
無断転載、盗用は禁止です。