相关疑难解决方法(0)

如何在JavaScript中声明命名空间?

如何在JavaScript中创建命名空间,以便我的对象和函数不会被其他同名的对象和函数覆盖?我用过以下内容:

if (Foo == null || typeof(Foo) != "object") { var Foo = new Object();}
Run Code Online (Sandbox Code Playgroud)

这样做有更优雅或简洁的方式吗?

javascript namespaces javascript-namespaces

973
推荐指数
19
解决办法
53万
查看次数

从不同文件向JavaScript命名空间添加多个实体

给定ns两个不同文件中使用的命名空间:

abc.js

ns = ns || (function () {
   foo = function() { ... };

   return {
      abc : foo
   };
}());
Run Code Online (Sandbox Code Playgroud)

def.js

// is this correct?
ns = ns || {}

ns.def = ns.def || (function () {
   defoo = function () { ... };
   return {
      deFoo: defoo
   };
}());
Run Code Online (Sandbox Code Playgroud)

这是添加defns命名空间的正确方法吗?换句话说,如何在javascript中合并两个对命名空间的贡献?

如果abc.jsdef.js我希望这个工作之前到来.如果def.jsabc.js我预期ns.abc不存在之前,因为ns当时已定义.

似乎应该有一个设计模式来消除使用javascript命名空间模式进行包含的任何不确定性.

我很欣赏有关如何最好地利用这种"包容性"的想法和意见.

谢谢阅读.

布赖恩

javascript singleton design-patterns namespaces

11
推荐指数
1
解决办法
3127
查看次数