0

我正在为工作中的重复编码任务构建一个实用程序库,并且在此过程中遇到了几个问题。

该库以各种SEAF 模式为模型。通用示例:

(function() {
   var A = function() {
      return new B();
   };

   var B = function() {

   }

   B.prototype = {
    /* Object Methods */
   }

   window.a = window._a = A;
})();

如果我将值分配给窗口对象的“A”,我可以通过调用成功调用任何可用的原型方法_a.object_method();但是,如果我调用_a('selector');它可以理解地抛出 typeError。

反过来也是如此,如果我为窗口对象分配了函数引用window.a = _a = A;,我只能通过以下方式调用它:_a('selector');并且在尝试访问任何对象方法时会抛出 typeError 。

我的问题是,通常最好的处理方法是什么?如果有任何其他解决此问题的 SO 问题,请以我的方式发送这些 URL。

非常感谢!

这是一个基本的小提琴,取消注释交替行以了解我的意思。

小提琴。

4

1 回答 1

0

您不能调用 _a.init('HAI');,因为_a没有任何init方法,只有Bdo 的实例(并且_a只是对 的引用A)。

但是,在您调用 之后_a(),您会返回一个B. 所以,你可以这样做:

_a('HAI').init();
于 2012-09-06T21:10:45.670 回答