0
(function (global, undefined) {
  ... some code which doesnt use arguments array
} (this));

モジュールパターンがこのように行われているのをよく見かけます。

なぜ2番目の引数があるのか​​ 本当に疑問に思いますundefinedか?これらの例はバグがありますか、それともここに特別な意味がありundefinedますか?

4

1 に答える 1

2

undefined広く使用されているグローバル プロパティです。古いバージョンの JavaScript では、値を変更することができます (たとえば、 にtrue)。これは一般的にすべてを壊します。そのスコープを「モジュール」(つまり関数) に対してローカルになるように変更することにより、他のモジュールがそれに干渉するのを防ぎます。

これにより、コードは を使用するundefined代わりに安全に使用できますglobal.undefined

MDN リファレンス

于 2013-07-31T08:39:15.050 に答える