Немедленно вызываемые функции, как следует из названия, — это функции, которые автоматически выполняют себя сразу после их объявления, без необходимости внешнего вызова.

Зачем использовать IIFE?

В Javascript все, что объявлено вне функции, добавляется в глобальную область видимости. Другими словами, новый контекст выполнения будет существовать только при вызове функции.

В приведенном ниже примере обратите внимание, что хотя переменная foo была объявлена ​​внутри цикла, ваше значение по-прежнему доступно снаружи, поскольку оно было присвоено глобальной области видимости window.

Тем не менее, это произвольное загрязнение глобального контекста, несомненно, является одной из самых распространенных ошибок, совершаемых разработчиками javascript, но ее можно легко решить с помощью IIFE или объявления переменной let, доступного в ECMAScript 6.

Аргументы

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

В этом случае глобальный экземпляр jQuery передается через аргумент $

Вывод

Разве это не легко? :) Основная цель статьи заключалась в том, чтобы обобщить, как работает IIFE, поэтому я сделал свои описания максимально короткими. Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь оставлять комментарии. Я был бы очень признателен, если бы ответил вам!

Всем спасибо!