作为命名空间的函数


在 JavaScript 中无法声明只在一个代码块内可见的变量,因此,我们常常简单定义一个函数用作临时的命名空间,在这个命名空间内定义的变量都不会污染到全局的命名空间(这样做的好处是避免将模块代码引入其他代码时模块中的变量与已有代码变量名冲突):

function mymodule() {
  // 模块代码
  // 这个模块所使用的所有变量都是局部变量,不会影响到全局命名空间
}
mymodule();  // 不要忘了调用这个函数,否则模块代码不会执行

我们还可以将上面的写法简化为一个立即调用的匿名函数:

(function() {
  // 模块代码
}());

Vote Vote Cancel Collect Collect Cancel

<< 上一篇: 用作值的函数

>> 下一篇: 作用域和闭包