在没有命名空间的情况下将单身体引用到单体,但如何?

时间:2013-01-04 00:13:19

标签: javascript object singleton return

我的目标是将函数引用到单例/对象体中!

这个结果是我的目标:

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

})();

因此导入后,我可以调用singletonObj_1.custom_fn2(); 但是custom_fn2来自另一个函数体,如何导入它看起来像上面的那样?

第二个函数“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(){...} 
                })();
      }

})();

当然,我不能以这种方式在单个对象中声明一个自调用函数! 希望我能表达我的问题!

Thanx很多提前

真诚地,你的 okyo

1 个答案:

答案 0 :(得分: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
      };
};