命名空间与变量定义和模块/显示模块模式的混淆

时间:2014-11-12 09:01:16

标签: javascript

我正准备解决这个问题,但我还有一个问题

我有自己的js文件中包含的2个模块。一个是基于模块模式,另一个是基于模块模式。我所面临的困惑是将变量赋值给这些函数。下面的代码应该有帮助

揭示模块示例。如果我运行这个例子,我在全局命名空间中看到一个带有doStuff公共函数的var1变量

 var var1 = (function() {
     function doStuff() {

     };

     return {
       doStuff : doStuff
     }
 })();

模块模式示例。如果我在调试器中运行下面的示例,我可以看到this.var2行被执行,但我没有在全局命名空间中看到var2变量

(function() {
   function doStuff() {

   };

   this.var2 = doStuff;
})();

只是想知道是否有人可以帮助解释我最有可能误解的问题。

由于

0 个答案:

没有答案