把一个 .js 文件里的代码都放到一个闭包里,有什么好处呢?

2014-07-30 16:45:02 +08:00
 jsq2627
今天在看 Code School 上 angular.js 的教程,视频里提到要把一个 .js 文件里的代码都放到一个闭包里,也就是下面这样的结构:

(function() {
/* 我的代码 ... */
})();

想问问这样做有什么好处呢?
之前也没有系统地学过 Javascript,请各位多多指教。
2671 次点击
所在节点    问与答
6 条回复
juicy
2014-07-30 17:06:12 +08:00
这样你在“我的代码”里写 var a = 1; 这样的代码就不会污染到window对象了
Tonni
2014-07-30 17:12:05 +08:00
避免全局变量污染
jsq2627
2014-07-30 17:12:58 +08:00
@juicy 减少全局变量?明白了,谢谢~~
sivacohan
2014-07-30 20:01:24 +08:00
另外这个不是叫立即执行函数吗?
这个也是闭包?
zhujinliang
2014-07-30 20:08:23 +08:00
@sivacohan 是,有函数就有闭包

有时也是刻意隐藏变量,防止从控制台跟踪变量内容
imink
2014-07-30 20:14:16 +08:00
你可以搜搜匿名函数。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125299

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX