У них вже є термін для цього у світі Javascript. Їх називають виразами функцій негайно викликаних функцій (IIFE) .
Що це
Функціям IIFE не надається ім'я. Натомість вони виконуються один раз, коли перекладач натрапляє на них:
var area = function() {
var width = 3;
var height = 2;
return width * height;
}();
У заключних круглих дужках після закриває фігурної дужки блоку коду скажіть інтерпретатор негайно викликати вираз функції.
Якщо ви пишете декларацію функції, ви повинні додати операторів групування або круглих дужок, що оточують функцію, щоб сказати інтерпретатору трактувати функцію як вираз, який можна негайно викликати:
var area;
(function() {
var width = 3;
var height = 2;
area = width * height;
}());
Коли вони використовуються
IIFE використовуються для коду, який потрібно виконувати лише один раз у межах завдання, а не повторно викликати.
- Як аргумент, коли викликається функція (для обчислення значень тощо)
- Щоб призначити об'єкту значення властивості.
- Обробники подій та слухачі.
- Щоб запобігти конфліктам між двома сценаріями, які можуть використовувати однакові імена змінних. Їх можна використовувати як обгортки для скидання коду в інший сценарій, де ви не впевнені, чи можуть імена змінних однакові.