2013-07-31 61 views
0
(function (global, undefined) { 
    ... some code which doesnt use arguments array 
} (this)); 

我經常看到模塊以這種方式完成的模式。自我執行功能的參數

我真的質疑爲什麼還有第二個參數undefined? 這些例子是越野車還是在這裏有undefined的特殊含義?

回答

2

undefined是一個被廣泛使用的全局屬性。在舊版本的JavaScript中,可以更改它的值(例如,到true)。這通常會破壞一切。 通過將其範圍更改爲「模塊」(即函數)的本地範圍,可防止其他模塊干擾該模塊。

這允許代碼安全地使用undefined而不必使用global.undefined

MDN Reference

+0

真的回答了我的問題。謝謝。 –