From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- files/uk/glossary/iife/index.html | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 files/uk/glossary/iife/index.html (limited to 'files/uk/glossary/iife/index.html') diff --git a/files/uk/glossary/iife/index.html b/files/uk/glossary/iife/index.html new file mode 100644 index 0000000000..ac1a957c33 --- /dev/null +++ b/files/uk/glossary/iife/index.html @@ -0,0 +1,62 @@ +--- +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","самовиконувана анонімна функція")}}, який складається з двох основних частин:

+ +
    +
  1. Перша - це анонімна функція, чия лексична область видимості знаходиться всередині {{jsxref("Operators/Grouping", "оператора групування")}} (). Це запобігає доступу до змінних у ідіомі IIFE, а також забрудненню глобальної області видимості.
  2. +
  3. Друга частина створює негайно виконуваний функціональний вираз (), через який рушій JavaScript безпосередньо інтерпретуватиме функцію.
  4. +
+ +

Приклади

+ +

Функція стає функціональним виразом, який негайно виконується. Змінна всередині виразу недоступна за його межами.

+ +
(function () {
+    var aName = "Баррі";
+})();
+// Змінна aName є недоступною з-поза меж області видимості
+aName // викидає "Uncaught ReferenceError: aName is not defined"
+ +

Присвоєння IIFE змінній зберігає значення, яке повертає функція, а не саме визначення функції.

+ +
var result = (function () {
+    var name = "Баррі";
+    return name;
+})();
+// Негайно створює результат:
+result; // "Баррі"
+
+ + -- cgit v1.2.3-54-g00ecf