Почему исходный код jQuery определяет функции «дважды», как «var someFunction = function someFunction ()»? - PullRequest
1 голос
/ 04 ноября 2019

Я относительно новичок в JavaScript, и я занимался с открытым исходным кодом чтением исходного кода jQuery. Я заметил, что некоторые, не все, функции определены как «круговые», например

var isWindow = function isWindow( obj ) {
        return obj != null && obj === obj.window;
    };

Мои мысли:

  1. Я знаю, что делает код. Он проверяет, является ли объект оконным объектом, поскольку у него есть специальное свойство, на которое указывает его поле .window: window === window.window === window.window.window ...

  2. Это как-то связано с подъемом , возможно? если так, то почему было бы хорошо иметь функцию isWindow неопределенной при запуске? И как только он достигнет декларации, почему бы не использовать анонимную функцию?

Спасибо

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