重複の可能性:
(function(window、document、undefined){…})(window、document)を使用するとどのような利点がありますか?
私が使用しているライブラリでは、このようなコードがますます見られます。
(function (window) {
var Foo = function () {
}
window.Foo = Foo;
})(window);
これを行うために私が見た議論は、(疑似)クラスを作成するときにグローバルスコープでの作業を避けることです。しかし、私が間違っている場合は訂正してください。ウィンドウがグローバルスコープであることを常に理解していました。グローバル変数を作成するときは、とにかくウィンドウにプロパティを追加するだけだと思います...これがES5 strictで変更されない限り、
それで、基本的に、ポイントは何ですか?このように編成されたコードで私が見ることができる唯一の利点は、ウィンドウ以外の引数を渡すことによって、後日クラスの名前空間を簡単に変更したい場合です。