javascript - 放弃 javascript 命名空间和揭示模块模式以支持智能感知

标签 javascript visual-studio-2010 design-patterns

在过去几天沮丧地尝试将我的代码重构为最佳设计模式,即显示模块模式,或者甚至只是满足于简单的命名空间之后,我得出的结论是,对我来说,一个优雅的设计模式被破坏 visual studio intellisense 支持的缺点所抵消。

因此,我采用以下解决方案:

按以下方式声明模块:

var namespaceprefix_someModule = new function(){

  function privatemethod(){}

  this.publicmethod = function(){};

}

我愿意为拥有 5 个全局变量付出代价。 作为返回,代码可以整齐地分成不同文件上的功能模块, 并具有强大的智能感知支持。

我想知道这里是否有人提出替代解决方案。

最佳答案

对于 this reason,您真的不应该将这种模式与 new 运算符一起使用.相反,使用

var namespaceprefix_someModule = (function(){

    function privatemethod(){}

    return {
        publicmethod: function(){}
    };
})();

我不确定,但我认为 VS 可以识别这种模式。

关于javascript - 放弃 javascript 命名空间和揭示模块模式以支持智能感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12286812/

相关文章:

javascript - 如何监听CKEditor中的基本事件?

c++ - VS2010 SP1 中 C++ 和 STL 的新增功能是什么?

visual-studio-2010 - 如何告诉 TFS 部署包含在一个解决方案中的多个 web 应用程序?

java - 处理申请中有效期的最佳方法是什么?

javascript - 此示例使用什么 javascript 对象模式?

design-patterns - 控制反转是否特定于 OO 语言?

javascript - 使用 Ember CLI 递归渲染 Handlebars 模板

javascript - 使用 Angular JS 将常量注入(inject)其他模块配置

c++ - 调用模板类成员时非法使用此类型作为表达式

javascript - 使用 Javascript 检查字符串是否包含列表中的标记