このアプローチは常に使用されています。
(function (window) {
var document = window.document,
location = window.location,
navigator = window.navigator;
})(window)
window
上記のスニペットを調べていると、グローバルにアクセス可能なオブジェクトが引数として関数に渡されるのはなぜだろうかと思います。それはそれでしょうか:
- 開発者は、ローカル関数スコープ内からウィンドウにアクセスできることを 100% 確実に知ることができませんか?
- コードを読む他の開発者に意図を明確にするため、これは良い習慣です。
- ジョン・レシグがやってるのを見たことがあるでしょうから、指を舐めるのが上手いに違いありません!
どう思いますか?