V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jsq2627
V2EX  ›  问与答

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

  •  
  •   jsq2627 · Jul 30, 2014 · 3121 views
    This topic created in 4293 days ago, the information mentioned may be changed or developed.
    今天在看 Code School 上 angular.js 的教程,视频里提到要把一个 .js 文件里的代码都放到一个闭包里,也就是下面这样的结构:

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

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

    有时也是刻意隐藏变量,防止从控制台跟踪变量内容
    imink
        6
    imink  
       Jul 30, 2014
    你可以搜搜匿名函数。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2694 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 14:34 · PVG 22:34 · LAX 07:34 · JFK 10:34
    ♥ Do have faith in what you're doing.