--- title: IIFE slug: Glossary/IIFE tags: - JavaScript - Словник - Шаблон проектування translation_of: Glossary/IIFE ---
Негайно виконуваний функціональний вираз (IIFE, Immediately Invoked Function Expression) — {{glossary("function", "функція")}} у {{glossary("JavaScript")}}, яка виконується одразу після оголошення.
(function () { statements })();
Це шаблон проектування, також відомий як {{glossary("Self-Executing Anonymous Function","самовиконувана анонімна функція")}}, який складається з двох основних частин:
()
. Це запобігає доступу до змінних у ідіомі IIFE, а також забрудненню глобальної області видимості.()
, через який рушій JavaScript безпосередньо інтерпретуватиме функцію.Функція стає функціональним виразом, який негайно виконується. Змінна всередині виразу недоступна за його межами.
(function () { var aName = "Баррі"; })(); // Змінна aName є недоступною з-поза меж області видимості aName // викидає "Uncaught ReferenceError: aName is not defined"
Присвоєння IIFE змінній зберігає значення, яке повертає функція, а не саме визначення функції.
var result = (function () { var name = "Баррі"; return name; })(); // Негайно створює результат: result; // "Баррі"