Javascript 我应该如何封装我的库?

Javascript 我应该如何封装我的库?,javascript,Javascript,我可能会同意这一点 var my_lib = { /* my_code */ } 作为一种避免全局名称空间混乱的方法。这可以吗?这很好,但是var将限制其范围。您可能还希望将其封装在一个闭包中。有不同的方法来完成它。我在过去偶然发现了kangax的这篇文章: (function (global) { /* my code */ global["someName"] = someObject; })(window); 这将引导你通过不同的方法。我认为这是关于这个主

我可能会同意这一点

var my_lib = 
  {
  /*
  my_code
  */
  }

作为一种避免全局名称空间混乱的方法。这可以吗?

这很好,但是
var
将限制其范围。您可能还希望将其封装在一个闭包中。

有不同的方法来完成它。我在过去偶然发现了kangax的这篇文章:

(function (global) {
 /* my code */

 global["someName"] = someObject;

})(window);

这将引导你通过不同的方法。我认为这是关于这个主题的最好的文章。

@stack.user.0以最小化范围。所以你所有的变量都在局部范围内,而不是全局范围内。这样,你在其中创建的任何局部变量都不会杂乱无章地进入全局范围。当脚本裸启动时,您创建的任何
var
都将在全局范围内,这就是为什么您希望尽快进入该自执行函数的内部:)@stack.user.0否,因为对象文本不允许您运行代码,或者块没有块范围o.K。对不起,我太密集了…什么是(窗口)做的…我还看到了这个的一个实现是(窗口)在previos中''这是一个输入错误吗…我用谷歌搜索了模块模式..但是我得到了冲突的信息。可能重复的你可以编辑其他问题来添加额外的信息,而不是在新问题上分割效果。询问是否“我应该封装”与问“我应该如何封装”完全不同。这种差异可能会转化为这个问题的不同答案,而你在另一个问题中得不到。因此,我相信这些问题是互补的,不是重复的。其他问题会叫你的图书馆吗?