Самопризывающаяся функция внутри события DOMContentLoaded - смысл? - PullRequest
0 голосов
/ 09 марта 2019

Поскольку я хочу, чтобы мой JS запускался только после DOMContentLoaded, я делаю это следующим образом:

document.addEventListener('DOMContentLoaded', function() {
    //
});

Поскольку я хочу ограничить уровень области действия, и в целом рекомендуется заключать код в анонимную функцию, ясделать это так:

(function() {
    //
})();

Итак, имеет ли смысл писать такой код?

document.addEventListener('DOMContentLoaded', function() {
    (function() {
        //
    })();
});

1 Ответ

1 голос
/ 09 марта 2019

Смысл немедленного вызова функционального выражения заключается в предоставлении пространства имен, чтобы избежать загрязнения глобальной области. Поскольку document уже является глобальной переменной, имеет смысл поместить ее снаружи, как вы сделали, что позволит вам писать больше IIFE в одном и том же обратном вызове DOMContentLoaded, например:

document.addEventListener('DOMContentLoaded', function() {
    // IIFE 1
    (function() {

    })();

   // IIFE 2
   (function() {

   })();

   ...

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