2011-07-14 2 views
4

JavaScriptコード「MyNameSpace」にネームスペースがあります。私はそれに静的なJavaScriptクラス "MyChildStaticClass"を作成しています。私はModularパターンを使用しています。以下は私のコードです:静的クラスのネームスペースに関する質問

if (typeof MyNameSpace == 'undefined' || !MyNameSpace) { 

    var MyNameSpace = {}; 
} 

    var MyNameSpace = (function(MyNameSpace) { 

     MyNameSpace.MyChildStaticClass = (function() { 
      var myobject; 
      myobject = { 
       x:function(str) { 
        alert(str); 
       } 
      }; 

      return myobject; 
     })(); 
     return MyNameSpace; 
    } (MyNameSpace || {})); 

上記のコードは次のように使用されます。

MyNameSpace.MyChildStaticClass.x('test'); 

と上記の出力は、メッセージのテストで警告ボックスになります。私はこれが静的クラスを作成し、上記のようなメソッドを呼び出す良い方法であるという質問がありますか?熟練した方法で書く方法はありますか?

答えて

1

あなたが行うことで、同じ機能になるだろう:真実ではありません

var MyNameSpace = {}; 
MyNameSpace.MyChildStaticClass = { 
    x : function(str) { 
     alert(str); 
    } 
} 
+0

を。ここであなたのパターンを使用すると、内部のメソッドを閉じないので、どこからでもアクセスできます。 – jAndy

+0

あなたはそれについて絶対に正しいです。私はちょうど私のパターンのためにこれを言うでしょう:それは可読です:) –

関連する問題