Передано в неопределенном аргументе в исходном коде ядра jQuery - PullRequest
10 голосов
/ 22 марта 2011

Я заметил, что в ядре jQuery один из двух передаваемых аргументов не определен.

(function( window, undefined ) {

    // Use the correct document accordingly with window argument (sandbox)
    var document = window.document;
    var jQuery = (function() {
        // ...defintion of the rest of the core...
    window.jQuery = window.$ = jQuery;
})(window);

Может кто-нибудь объяснить, почему вторым аргументом является undefined ?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

Так как кто-то может перезаписать неопределенное значение, как это

undefined = true;

Код вашей непосредственной функции передаст его, как и должно быть (оставайтесь неопределенным).Я думаю, что это упомянуто в 10 вещей, которые я узнал из источника jQuery .

2 голосов
/ 22 марта 2011

Undefined является типом, но также является глобальной переменной.

Вы можете иметь модуль, который перезаписывает значение undefined, выполнив undefined = whatever.

jQuery использует непосредственную функцию для определения области видимости.окно и неопределенное значение.

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/undefined

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...