2011-05-12 144 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

回答