diff options
Diffstat (limited to 'files/uk/glossary/функція')
-rw-r--r-- | files/uk/glossary/функція/index.html | 89 |
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 запис зі стрілкою +() => {}; +</pre> + +<p><strong>Названа функція</strong>, це функція що має ім'я:</p> + +<pre class="brush: js">function foo() {}; +// або використовуючи ECMAScript 2015 запис зі стрілкою +const foo = () => {}; +</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) => { + const square = x => x*x; + return square(a) + square(b); +}; +</pre> + +<p><strong>Рекурсивна функція</strong>, це функція, що викликає сама себе. Дивіться {{Glossary("Рекурсія", "рекурсія")}}.</p> + +<pre class="brush: js">function loop(x) { + if (x >= 10) + return; + loop(x + 1); +}; +// використовуючи ECMAScript 2015 запис зі стрілкою +const loop = x => { + if (x >= 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> |