1

考虑这段代码:

AEP: {
    Module: {
        _instances: {},
        get: function(module) {
            return (AEP.Module._instances[module.id] || (AEP.Module._instances[module.id] = new AEP.Module.Instance(module)));
        },
        implement: function(module, implementation) {
            AEP.Module.get({id: module}).dispatch(implementation(AEP));
        },
        /**
         * @param module
         * @constructor
         */
        Instance: function(module) {
            AEP.Event.apply(this, arguments);
            AEP.Utility.loadJSFile(module.url);
        }
    }
//...
}

我收到了这个 GCC 警告:

WARNING - Constructor AEP.Module.Instance must be initialized at declaration

这是为什么?

4

2 回答 2

1

我猜 check 不会将标签识别为作业。尝试这个:

AEP: {
    Module: {
        _instances: {},
        get: function(module) {
            return (AEP.Module._instances[module.id] || (AEP.Module._instances[module.id] = new AEP.Module.Instance(module)));
        },
        implement: function(module, implementation) {
            AEP.Module.get({id: module}).dispatch(implementation(AEP));
        },
        Instance:
          /**
           * @param module
           * @constructor
           */
          function(module) {
            AEP.Event.apply(this, arguments);
            AEP.Utility.loadJSFile(module.url);
          }
    }
//...
}
于 2013-06-11T13:11:05.480 回答
0

正如 Crazy Train 已经解释的那样;这是一个例子:

var AEP= {
    Module: {
        _instances: {},
        get: function(module) {
            window['console'].log("get");
        },
        implement: function(module, implementation) {
            window['console'].log("implement");
        }
    }
};
/**
* @param module
* @constructor*/
AEP.Module.Instance= function(module) {
  window['console'].log("instance");
};
于 2013-06-11T00:52:21.300 回答