Почему jQuery имеет undefined в своей сигнатуре аргумента и почему он снова передает окно?
Я вижу, что jQuery завернут...
(function( window, undefined ) {
...
})(window);
Я вижу, что он снова проходит в window
(мое предположение, чтобы сделать его быстрее), но почему там undefined
и он не передается в функцию self invoking?
Мое предположение - защитить jQuery от какого-то бозо...
var undefined = 'defined';
В этом случае, undefined
будет строка 'defined'
, и это плохо.
Если я прав (всегда первый: P), то это умный способ гарантировать, что undefined
всегда действительно undefined
.
Я прав? Может ли кто-нибудь уточнить? Проходит ли передача window
, действительно, быстрее?
Спасибо.