在过去几天沮丧地尝试将我的代码重构为最佳设计模式,即显示模块模式,或者甚至只是满足于简单的命名空间之后,我得出的结论是,对我来说,一个优雅的设计模式被破坏 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/