Ответ 1
Да! Так как окно в этой функции является локальной переменной, теперь оно позволяет минимизировать его имя. Также доступ к локальным переменным должен быть быстрее, чем глобальным.
Хорошо, поэтому я пишу себе js-библиотеку для проекта, и у меня есть вопрос. Как и большинство других библиотек, чтобы сохранить мою область переменных, я обертываю свой код следующим образом:
(function() {
// my code here
})();
Теперь мой вопрос таков: я замечаю, что jQuery проходит в объекте window и устанавливает свой собственный объект документа следующим образом:
(function(window) {
var document = window.document;
})(window);
Кто-нибудь знает, почему они это делают?
Да! Так как окно в этой функции является локальной переменной, теперь оно позволяет минимизировать его имя. Также доступ к локальным переменным должен быть быстрее, чем глобальным.
Вы можете быстрее получить доступ к локальным vars, также вы можете сократить имя переменной "window" (и даже "document" ) с чем-то вроде:
(function(w, d)(){
// use w and d var
})(window, document)