2012-12-13 97 views
0

可能重複:
How does this JavaScript/JQuery Syntax work: (function(window, undefined) { })(window)?立即函數調用

我試圖破壞一些jQuery的的部分,以更好地理解這是怎麼回事幕後。在大多數情況下,我是在它的很多的方法非常清楚,但第一行代碼如下所示:

(function(window, undefined) { 

和庫結束這樣

})(window); 

我明白,這是立即函數調用,但是這對jQuery庫的上下文有什麼作用?我不確定我在看什麼。

另外,這對我們有用嗎?

+0

基本上它是一種避免污染全球範圍的方法:http://stackoverflow.com/questions/3265823/javascript-global-scope – RichardTowers

回答

0

它將當前窗口對象傳遞給jQuery,因此它具有對作爲本地對象的窗口的引用。

它也沒有傳入第二個參數,因此undefined將真正地「未定義」。這樣做的原因是可以分配一個未定義的值,所以通過將值作爲第二個參數,但是沒有得到值,jQuery確保它自己確實沒有定義。

+0

哎呀,有道理。感謝您解決這個問題。 – Sethen

相關問題