V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jsq2627
V2EX  ›  问与答

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

  •  
  •   jsq2627 · 2014-07-30 16:45:02 +08:00 · 2747 次点击
    这是一个创建于 3804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天在看 Code School 上 angular.js 的教程,视频里提到要把一个 .js 文件里的代码都放到一个闭包里,也就是下面这样的结构:

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

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

    有时也是刻意隐藏变量,防止从控制台跟踪变量内容
    imink
        6
    imink  
       2014-07-30 20:14:16 +08:00
    你可以搜搜匿名函数。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1166 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:55 · PVG 07:55 · LAX 15:55 · JFK 18:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.