aboutsummaryrefslogtreecommitdiff
path: root/files/uk/glossary/функція/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/glossary/функція/index.html')
-rw-r--r--files/uk/glossary/функція/index.html89
1 files changed, 89 insertions, 0 deletions
diff --git a/files/uk/glossary/функція/index.html b/files/uk/glossary/функція/index.html
new file mode 100644
index 0000000000..b686ccc40c
--- /dev/null
+++ b/files/uk/glossary/функція/index.html
@@ -0,0 +1,89 @@
+---
+title: Функція
+slug: Glossary/Функція
+tags:
+ - IIFE
+ - JavaScript
+ - Словник
+ - Функція
+translation_of: Glossary/Function
+---
+<p><span class="seoSummary"><strong>Функція</strong> - це фрагмент коду, що може бути викликаний іншим кодом чи сам собою, або {{Glossary("змінна")}} що відноситься до функцій. Коли функцію викликано, {{Glossary("арґументи")}} функція отримує як ввід, та може повертати вивід. Функції у {{glossary("JavaScript")}} це також {{glossary("Object","об'єкти")}}.</span></p>
+
+<p>Ім'я функції це {{Glossary("identifier","ідентифікатор")}} оголошений як частина оголошення функції чи виразу функції. {{Glossary("scope", "Область видимості")}} залежить від того, є функція оголошеною чи описаною.</p>
+
+<h3 id="Різні_види_функцій">Різні види функцій</h3>
+
+<p><strong>Анонімна функція</strong>, це функція без імені функції:</p>
+
+<pre class="brush: js">function () {};
+// або використовуючи ECMAScript 2015 запис зі стрілкою
+() =&gt; {};
+</pre>
+
+<p><strong>Названа функція</strong>, це функція що має ім'я:</p>
+
+<pre class="brush: js">function foo() {};
+// або використовуючи ECMAScript 2015 запис зі стрілкою
+const foo = () =&gt; {};
+</pre>
+
+<p><strong>Внутрішня функція</strong>,  це функція всередині іншої функції (<code>square</code> в цьому випадку). <strong>Зовнішня функція</strong>, це функція, що містить всередині інші функції (<code>addSquares</code> в цьому випадку):</p>
+
+<pre class="brush: js">function addSquares(a,b) {
+ function square(x) {
+ return x * x;
+ }
+ return square(a) + square(b);
+};
+// використовуючи ECMAScript 2015 запис зі стрілкою
+const addSquares = (a,b) =&gt; {
+ const square = x =&gt; x*x;
+ return square(a) + square(b);
+};
+</pre>
+
+<p><strong>Рекурсивна функція</strong>, це функція, що викликає сама себе. Дивіться {{Glossary("Рекурсія", "рекурсія")}}.</p>
+
+<pre class="brush: js">function loop(x) {
+ if (x &gt;= 10)
+ return;
+ loop(x + 1);
+};
+// використовуючи ECMAScript 2015 запис зі стрілкою
+const loop = x =&gt; {
+ if (x &gt;= 10)
+ return;
+ loop(x + 1);
+};
+</pre>
+
+<p><strong>Негайно виконуваний функціональний вираз </strong>(IIFE, Immediately Invoked Function Expression) — це вираз, що одночасно оголошує {{Glossary("Функція", "функцію")}} в {{Glossary("JavaScript")}} та здійснює її виклик. Позаяк подальший виклик безіменної функції, посилання на яку відсутнє, неможливий, головним призначенням такого виразу є створення окремої області видимості, щоб уникнути засмічення зовнішньої (зазвичай, глобальної). Створити НВФВ можна, додавши ліву та праву дужки в кінці оголошення функції.</p>
+
+<pre class="brush: js">// Error (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
+/*
+​function foo() {
+ console.log('Hello Foo');
+}();
+*/
+
+(function foo() {
+    console.log("Hello Foo");
+}());
+
+(function food() {
+    console.log("Hello Food");
+})();
+
+</pre>
+
+<p>Якщо хочете дізнатись бульше про НВФВ, перегляньте сторінку на Wikipedia : <a href="https://en.wikipedia.org/wiki/Immediately-invoked_function_expression">Immediately Invoked Function Expression</a></p>
+
+<h2 id="Дізнатись_більше">Дізнатись більше</h2>
+
+<h3 id="Технічна_довідка">Технічна довідка</h3>
+
+<ul>
+ <li><a href="/uk/docs/Web/JavaScript/Guide/Functions" title="en-US/docs/Web/JavaScript/Guide/Functions">Функції</a></li>
+ <li><a href="/uk/docs/Web/JavaScript/Reference/Functions/Arrow_functions">Стрілочні функції</a></li>
+</ul>