У них уже есть термин для этого в мире 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 используются для кода, который должен запускаться только один раз внутри задачи, а не вызываться повторно.
- В качестве аргумента при вызове функции (для вычисления значений и т. Д.)
- Чтобы присвоить значение свойства объекту.
- В обработчиках событий и слушателях.
- Для предотвращения конфликтов между двумя сценариями, которые могут использовать одинаковые имена переменных. Их можно использовать как оболочки для удаления кода в другом скрипте, где вы не уверены, что имена переменных могут совпадать.