Объект JavaScript Window всегда доступен?

Мы видим, что этот подход используется все время:

(function (window) {
    var document = window.document,
        location = window.location,
        navigator = window.navigator;
})(window)

Изучая приведенный выше фрагмент, я задаюсь вопросом, почему глобально доступный объект, такой как window, передается в качестве аргумента функции. Может быть,:

  1. Разработчик не может со 100% уверенностью знать, что окно доступно из области локальной функции?
  2. Это хорошая практика, потому что вы даете понять свои намерения другим разработчикам, которые читают ваш код.
  3. Вы видели, как это делает Джон Резиг, так что, должно быть, пальчики оближешь!

Что вы думаете?

10
задан Ray Toal 15 August 2012 в 00:24
поделиться