2011-05-12 48 views
3

可能重复:
What is the purpose of wrapping whole Javascript files in anonymous functions like “(function(){ … })()”?Javascript定义对象属性和函数的新方法?

我已经在很多次偶然的编码这个不寻常的方式,它似乎变得越来越流行。

(function (variable) { 
    // properties or methods go here 

    // some more stuff 
})(variable) 

我甚至很难研究它,因为我甚至不知道它是如何被调用的。我曾与jquery合作过,但我仍然不知道 是如何工作的。

例如:

(function ($) { 
    ... 
     // code to manipulate the dom 
    function init() { 
     ..... 
     } 

    $(document).ready(function() { 
     init(); 
    }); 
})(jQuery); 

我只用它,因为我是更新由另一家开发商做了一些代码。

这样编码有什么好处吗?有没有我可以阅读更多的地方? 如果有人了解我的问题,很高兴看到一些关于此问题的文章,或者您可以对如何制作自己的文章有所了解。

谢谢

伊布

+0

+1有趣的问题。 – pixelbobby 2011-05-12 17:18:48

+0

我知道它可能是重复的,但我无法找到任何堆栈溢出,因为我不知道它是如何调用 – Ibu 2011-05-12 17:23:38

+0

不用担心,但我链接到的问题有你的答案。 – 2011-05-12 17:24:26

回答