Что такое самовызывающаяся функция ?

Спросят с вероятностью 7%



Самовызывающаяся функция (IIFE, Immediately Invoked Function Expression) — это функция, которая вызывается сразу же после её объявления. Используется для создания локальной области видимости и изоляции кода от глобальной области видимости.



Зачем нужны самовызывающиеся функции



Самовызывающиеся функции используются для:

1️⃣Изоляции переменных и предотвращения их попадания в глобальную область видимости.

2️⃣Создания замыканий.

3️⃣Инициализации кода, который должен выполняться сразу после загрузки страницы или выполнения скрипта.



Как пишется самовызывающаяся функция



Синтаксис IIFE выглядит следующим образом:

(function() {

// код функции

})();




Или с использованием стрелочных функций:

(() => {

// код функции

})();




Примеры:



Изоляция переменных


(function() {

var message = 'Hello, World!';

console.log(message); // Вывод: Hello, World!

})();



console.log(message); // Ошибка: message is not defined




В этом примере переменная message существует только внутри IIFE и недоступна вне её.



Создание замыканий

var counter = (function() {

var count = 0;

return function() {

count += 1;

return count;

};

})();



console.log(counter()); // Вывод: 1

console.log(counter()); // Вывод: 2




Здесь IIFE создаёт локальную переменную count, к которой можно получить доступ только через возвращаемую функцию.



Инициализация кода

(function() {

console.log('IIFE выполнена сразу после объявления!');

})();




Этот пример демонстрирует выполнение кода сразу после объявления функции.



Самовызывающаяся функция (IIFE) — это функция, которая вызывается сразу после её объявления. Она используется для изоляции переменных и создания замыканий.



👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1429 вопроса на Frontend разработчика. Ставь 👍 если нравится контент



🔐 База собесов | 🔐 База тестовых