Javascriptコード名前空間2

Javascriptコードでの名前空間の使用に関する注意を読んだ後、私が使用するアプローチを共有したいと思いました。 もちろん、それは私によって発明されたものではありませんが、おそらく誰かがそれについて知らないかもしれません。 このアプローチは、外部から見える関数とデータに加えて、名前空間にローカルで外部から見えないデータと関数を定義できるという点で、その記事で提案されたものとは異なります。







コードは次のとおりです。



アプリ=関数()
 {
    //公開データ
    var FooMember = 3;

    //パブリック関数
   関数foo()
    {
      //プライベートデータを使用します
     アラート(_FooMember);

      //プライベート関数を呼び出します
       _foo();
    }
   
    //プライベートデータ
    var _FooMember = 4;

    //プライベート関数
   関数_foo()
    {
    }

    return {
        FooMember:FooMember、
        foo:foo
    }
 }();




このコードの使用は明らかです。

   アラート(App.FooMember);
    App.foo();




名前空間について話しているため、Javascriptで列挙をシミュレートする手法についても説明します。 次のようなコードを書く代わりに:

    var STORY_NEW = 1;
    var STORY_UPDATE = 2;
    var STORY_DELETE = 3;
    ..........
   スイッチ(タグ) 
    {
      ケースSTORY_NEW:...; 休憩;
       case STORY_UPDATE:...; 休憩;
       case STORY_DELETE:...; 休憩;
       ...
    }




以下を書くことができます。



    var StoryAction = {
      新規:1、
      更新:2、
      削除:3
       ....
    };
    ...
   スイッチ(タグ) 
    {
       case StoryAction.New:...; 休憩;
       case StoryAction.Update:...; 休憩;
       case StoryAction.Delete:...; 休憩;
       ...
    }




これらの2つのトリックが誰かに役立つように願っています。



All Articles