考虑下面这段代码:
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为什么会这样呢?
发布于 2013-06-11 21:11:05
我猜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-11 08:52:21
正如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");
};https://stackoverflow.com/questions/17025878
复制相似问题