diff options
| author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
| commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
| tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/function/index.html | |
| parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
| download | translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2 translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip | |
remove retired locales (#699)
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/function/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/function/index.html | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/function/index.html b/files/uk/web/javascript/reference/global_objects/function/index.html deleted file mode 100644 index f2672fe180..0000000000 --- a/files/uk/web/javascript/reference/global_objects/function/index.html +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: Function -slug: Web/JavaScript/Reference/Global_Objects/Function -tags: - - Constructor - - Function - - JavaScript -translation_of: Web/JavaScript/Reference/Global_Objects/Function ---- -<div>{{JSRef}}</div> - -<p><strong>Конструктор <code>Function</code></strong> створює новий <strong>об'єкт</strong> <code>Function</code>. Прямий виклик конструктора може створювати функції динамічно, але має проблеми з безпекою та схожі з {{jsxref("eval")}} (але менш значні) проблеми з продуктивністю. Однак, на відміну від eval, конструктор Function створює функції, які виконуються тільки у глобальній області видимості.</p> - -<p>{{EmbedInteractiveExample("pages/js/function-constructor.html")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<p>У JavaScript кожна функція є об'єктом <code>Function</code>. Це можна побачити за допомогою коду <code>(function(){}).constructor === Function</code>, який повертає true.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code>new Function ([<var>arg1</var>[, <var>arg2</var>[, ...<var>argN</var>]],] <var>functionBody</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>arg1, arg2, ... arg<em>N</em></code></dt> - <dd>Імена, які будуть використані функцією в якості імен формальних аргументів. Кожне ім'я має бути рядком, який представляє ідентифікатор JavaScript, або списком таких рядків, розділених комою; наприклад, "<code>x</code>", "<code>theValue</code>" або "<code>a,b</code>".</dd> - <dt><code>functionBody</code></dt> - <dd>Рядок, що містить інструкції JavaScript, які складають визначення функції.</dd> -</dl> - -<h2 id="Опис">Опис</h2> - -<p>Об'єкти <code>Function</code>, створені конструктором <code>Function</code>, аналізуються, коли створюється функція. Це менш ефективно, ніж оголошувати функцію <a href="/uk/docs/Web/JavaScript/Reference/Operators/function">функціональним виразом</a> або <a href="/uk/docs/Web/JavaScript/Reference/Statements/function">оголошенням функції</a> та викликати її, бо такі функції аналізуються разом з рештою коду.</p> - -<p>Усі аргументи, передані у функцію, сприймаються як імена ідентифікаторів параметрів функції, що має бути створена, в тому порядку, в якому вони передані.</p> - -<p>Виклик конструктора <code>Function</code> у вигляді функції (без оператора <code>new</code>) має той самий ефект, що й виклик конструктора.</p> - -<h2 id="Властивості_та_методи_обєкта_Function">Властивості та методи об'єкта <code>Function</code></h2> - -<p>Глобальний об'єкт <code>Function</code> не має власних методів та властивостей, однак, він успадковує деякі методи та властивості через ланцюжок прототипів від {{jsxref("Function.prototype")}}.</p> - -<h2 id="Обєкт_прототипу_Function">Об'єкт прототипу <code>Function</code></h2> - -<h3 id="Властивості">Властивості</h3> - -<div>{{page('/uk/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype', 'Властивості')}}</div> - -<h3 id="Методи">Методи</h3> - -<div>{{page('/uk/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype', 'Методи')}}</div> - -<h2 id="Екземпляри_Function">Екземпляри <code>Function</code></h2> - -<p>Екземпляри <code>Function</code> успадковують методи та властивості від {{jsxref("Function.prototype")}}. Як і в усіх конструкторах, ви можете змінити об'єкт прототипу конструктора, щоб внести зміни до усіх екземплярів <code>Function</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Визначення_аргументів_у_конструкторі_Function">Визначення аргументів у конструкторі <code>Function</code></h3> - -<p>Наступний код створює об'єкт <code>Function</code>, що приймає два аргументи.</p> - -<pre class="brush: js">// Цей приклад можна запустити прямо у консолі JavaScript - -// Створити функцію, що приймає два аргументи та повертає суму цих аргументів -var adder = new Function('a', 'b', 'return a + b'); - -// Виклик функції -adder(2, 6); -// > 8 -</pre> - -<p>Аргументи "<code>a</code>" та "<code>b</code>" є іменами формальних аргументів, які використовуються у тілі функції, "<code>return a + b</code>".</p> - -<h3 id="Різниця_між_конструктором_Function_та_оголошенням_функції">Різниця між конструктором Function та оголошенням функції</h3> - -<p>Функції, створені конструктором <code>Function</code>, не утворюють замикань з контекстом свого cтворення; вони завжди cтворюються у глобальній області видимості. Під час виконання вони матимуть доступ лише до власних локальних змінних та глобальних змінних, а не до змінних з області видимості, де був створений конструктор <code>Function</code>. Це відрізняється від {{jsxref("eval")}} з кодом функціонального виразу.</p> - -<pre class="brush: js">var x = 10; - -function createFunction1() { - var x = 20; - return new Function('return x;'); // цей |x| звертається до глобального |x| -} - -function createFunction2() { - var x = 20; - function f() { - return x; // цей |x| звертається до локального |x|, записаного вище - } - return f; -} - -var f1 = createFunction1(); -console.log(f1()); // 10 -var f2 = createFunction2(); -console.log(f2()); // 20</pre> - -<p>В той час, як цей код працює у веб-переглядачах, <code>f1()</code> спричинить <code>ReferenceError</code> у Node.js, через те, що <code>x</code> не буде знайдено. Це відбувається тому, що область видимості верхнього рівня у Node не є глобальною областю видимості, і <code>x</code> буде локальною змінною модуля.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Коментар</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Початкове визначення. Реалізоване у JavaScript 1.0.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.3', 'Function')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-function-objects', 'Function')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-function-objects', 'Function')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div class="hidden"> -<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> -</div> - -<p>{{Compat("javascript.builtins.Function")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Functions", "Функції та область видимості функції")}}</li> - <li>{{jsxref("Function")}}</li> - <li>{{jsxref("Statements/function", "оголошення функції")}}</li> - <li>{{jsxref("Operators/function", "функціональний вираз")}}</li> - <li>{{jsxref("Statements/function*", "function* statement")}}</li> - <li>{{jsxref("Operators/function*", "function* expression")}}</li> - <li>{{jsxref("GeneratorFunction")}}</li> -</ul> |
