1

私の目標は、関数をシングルトン/オブジェクト本体に参照することです!

#

この結果が私の目標です。

var singletonObj_1 = (function () {
      return {
               custom_fn1 : function(){...},
               custom_fn2 : function(){...}    <<-- *But Imported
      }

})();

したがって、インポート後、singletonObj_1.custom_fn2(); を呼び出すことができます。しかし、custom_fn2 は別の関数本体から来ています。それをインポートして上記のようにするにはどうすればよいですか?

#

2番目の関数「custom_fn2」は、上の関数singletonObj_1で宣言されていません! 結果が上記のようになるように、インポートする必要があります。

実際に singletonObj_1 がどのように見えるか:

var singletonObj_1 = (function () {
      return {
               custom_fn1 : function(){...},
               *Here I need any kind of reference to singletonObj_2.custom_fn1 to look like above
      }

})();


var singletonObj_2 = function () {
      return {
               custom_fn1 : function(){...} *This function shall be exported into singletonObj_1
      }

}

#

私が成功せずに試したこと:

var singletonObj_1 = (function () {
      return {
               custom_fn1 : function(){...},

               (function(){
                    singletonObj_2(); // just to return custom_fn1 : function(){...} 
                })();
      }

})();

もちろん、このようにシングルトンオブジェクト内で自己呼び出し関数を宣言することはできません! うまくいけば、私は自分の問題を表現できます!

事前にたくさんのサンクス

よろしくお願いします

4

1 に答える 1

0
var exported_fn = function () { ... };

var singletonObj_1 = (function () {
      return {
               custom_fn1 : function(){...},
               custom_fn2 : exported_fn
      };

})();


var singletonObj_2 = function () {
      return {
               custom_fn1 : exported_fn
      };
};
于 2013-01-04T00:55:52.577 に答える