2012-03-08 3 views
0

私は以下のコードを持っています。返すプロパティを手作業で指定していますので、私はここでプライベート/パブリック関数を気にしないので、素早くしたいです。&スコープ内のすべての機能これは可能ですか?私はいくつかのことを試しましたが、問題を抱えています。そうでなければ、スコープの内部で行う必要があります。スコープ内のすべての関数を動的に返す方法は?

var MyObj = { 
     (function() { 
      function MyFuncOne() {} 
      function MyFuncTwo() {} 
      return { 
       MyFuncOne: MyFuncOne, 
       MyFuncTwo: MyFuncTwo 
      } 
     })() 
    } 
    var MyObjTwo = { 
     (function() { 
      function MyFuncOne() {} 
      function MyFuncTwo() {} 
      return { 
       MyFuncOne: MyFuncOne, 
       MyFuncTwo: MyFuncTwo 
      } 
     })() 
    } 

私が何をしたいの擬似コード:私はあなたがシングルトン名前空間パターンをしたいと思うラインの間に読んreturn { ReturnAllProperties(); }

+1

いいえ。潜在的な複製http://stackoverflow.com/questions/2051678/getting-all-variables-in-scope – max

+0

"範囲" - どの範囲ですか? –

+0

自己実行機能 – Baconbeastnz

答えて

0

で、その後

function ReturnAllProperties() { //foreach func in scope append to list } 

var MYNAMESPACE = (function(){ 
    //Private vars 
    var x, y, z; 
    var MyFuncOne = function() {.....} 
    var MyFuncTwo = function() {.....} 
    return { 
     //Here expose functions as privileged methods 
     //You can also expose non-function vars (Numbers, Strings, plain Objects, Arrays) but in general you should expose only methods. 
     MyFuncOne: MyFuncOne, 
     MyFuncTwo: MyFuncTwo 
    }; 
})(); 

名前空間メンバは大文字で表されます。

関連する問題