首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我会收到“构造函数必须在声明时初始化”的google closure编译器警告?

为什么我会收到“构造函数必须在声明时初始化”的google closure编译器警告?
EN

Stack Overflow用户
提问于 2013-06-10 22:09:46
回答 2查看 194关注 0票数 1

考虑下面这段代码:

代码语言:javascript
复制
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的警告:

代码语言:javascript
复制
WARNING - Constructor AEP.Module.Instance must be initialized at declaration

为什么会这样呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-11 21:11:05

我猜check不会将标签识别为赋值。试试这个:

代码语言:javascript
复制
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);
          }
    }
//...
}
票数 1
EN

Stack Overflow用户

发布于 2013-06-11 08:52:21

正如Crazy Train已经解释过的;下面是一个例子:

代码语言:javascript
复制
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");
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17025878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档