Почему jQuery передает объект окна в свою область действия

Хорошо, поэтому я пишу себе js-библиотеку для проекта, и у меня есть вопрос. Как и большинство других библиотек, чтобы сохранить мою область переменных, я обертываю свой код следующим образом:

(function() {
// my code here
})();

Теперь мой вопрос таков: я замечаю, что jQuery проходит в объекте window и устанавливает свой собственный объект документа следующим образом:

(function(window) {
var document = window.document;
})(window);

Кто-нибудь знает, почему они это делают?

Ответ 1

Да! Так как окно в этой функции является локальной переменной, теперь оно позволяет минимизировать его имя. Также доступ к локальным переменным должен быть быстрее, чем глобальным.

Ответ 2

Вы можете быстрее получить доступ к локальным vars, также вы можете сократить имя переменной "window" (и даже "document" ) с чем-то вроде:

(function(w, d)(){

    // use w and d var

})(window, document)