如何在javascript模块模式中使用内部命名空间

时间:2015-07-09 17:11:59

标签: javascript jquery design-patterns

我有2个.js实用程序文件。我正在使用下面的模块模式。 MODULE1& MODULE2是全局命名空间。此外,内部两个.js文件都使用相同的变量名称作为名称空间,即“mynamespace” 我想知道这会导致任何问题在两个模块中都有相同的内部命名空间名称。

1.js

var MODULE1 = (function () {
    var mynamespace = {};

    privateVariable = 1;

    function privateMethod() {
    // ...
    }

    mynamespace .Init = function () {
    // ...
   };

    return mynamespace ;
 }());

2.js

var MODULE2 = (function () {
   var mynamespace = {};    

   privateVariable = 1;

   function privateMethod() {
    // ...
   }

   mynamespace.Init = function () {
    // ...
   };

   return mynamespace;
}());

1 个答案:

答案 0 :(得分:0)

否,因为mynamesapce变量仅在每个函数的本地范围内定义。

如果mynamespace是全局的,那将会给你带来麻烦,但事实并非如此