aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/statements/label
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/statements/label')
-rw-r--r--files/uk/web/javascript/reference/statements/label/index.html182
1 files changed, 0 insertions, 182 deletions
diff --git a/files/uk/web/javascript/reference/statements/label/index.html b/files/uk/web/javascript/reference/statements/label/index.html
deleted file mode 100644
index b29fa8fb42..0000000000
--- a/files/uk/web/javascript/reference/statements/label/index.html
+++ /dev/null
@@ -1,182 +0,0 @@
----
-title: Мітка
-slug: Web/JavaScript/Reference/Statements/label
-tags:
- - JavaScript
-translation_of: Web/JavaScript/Reference/Statements/label
----
-<div>{{jsSidebar("Statements")}}</div>
-
-<p><strong>Мітка </strong>(label) може використовуватися з операторами {{jsxref("Statements/break", "break")}} та {{jsxref("Statements/continue", "continue")}}. Вона додається попереду виразу у вигляді ідентифікатора, на який можна посилатися.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/statement-label.html")}}</div>
-
-
-
-<div class="note">
-<p><strong>Заувага:</strong> Використання помічених циклів або блоків є дуже нестандартним підходом. Зазвичай використовуються виклики функцій замість стрибків у циклах.</p>
-</div>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox notranslate"><em>label</em> :
- <em>statement</em>
-</pre>
-
-<dl>
- <dt><code>label</code></dt>
- <dd>Будь-який ідентифікатор JavaScript, який не є зарезервованим словом.</dd>
- <dt><code>statement</code></dt>
- <dd>Інструкція JavaScript. Оператор <code>break</code> може використовуватися з будь-якою поміченою конструкцією, а оператор <code>continue</code> може використовуватися з поміченими циклами.</dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Ви можете використати мітку, щоб ідентифікувати цикл, а потім скористатись операторами <code>break</code> чи <code>continue</code>, щоб вказати, що програма має перервати чи продовжити його виконання.</p>
-
-<p>Зауважте, що у JavaScript <em>немає</em> оператора <code>goto</code>, ви можете використовувати мітки лише з <code>break</code> або <code>continue</code>.</p>
-
-<p>У <a href="/uk/docs/Web/JavaScript/Reference/Strict_mode">строгому режимі</a> не можна використовувати "<code>let</code>" в якості імені мітки. Це спричинить викидання {{jsxref("SyntaxError")}} (let є зарезервованим ідентифікатором).</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Використання_поміченого_continue_з_циклами_for">Використання поміченого <code>continue</code> з циклами <code>for</code></h3>
-
-<pre class="brush: js notranslate">var i, j;
-
-loop1:
-for (i = 0; i &lt; 3; i++) { //Перший цикл for помічений як "loop1"
- loop2:
- for (j = 0; j &lt; 3; j++) { //Другий цикл for помічений як "loop2"
- if (i === 1 &amp;&amp; j === 1) {
- continue loop1;
- }
- console.log('i = ' + i + ', j = ' + j);
- }
-}
-
-// Результат:
-// "i = 0, j = 0"
-// "i = 0, j = 1"
-// "i = 0, j = 2"
-// "i = 1, j = 0"
-// "i = 2, j = 0"
-// "i = 2, j = 1"
-// "i = 2, j = 2"
-// Зауважте, що пропущені як "i = 1, j = 1", так і "i = 1, j = 2"
-</pre>
-
-<h3 id="Використання_поміченого_оператора_continue">Використання поміченого оператора <code>continue</code></h3>
-
-<p>Маючи масив елементів та масив тестів, цей приклад рахує кількість елементів, які пройшли усі тести.</p>
-
-<pre class="brush: js notranslate">var itemsPassed = 0;
-var i, j;
-
-top:
-for (i = 0; i &lt; items.length; i++) {
- for (j = 0; j &lt; tests.length; j++) {
- if (!tests[j].pass(items[i])) {
- continue top;
- }
- }
-
- itemsPassed++;
-}</pre>
-
-<h3 id="Використання_поміченого_оператора_break_з_циклами_for">Використання поміченого оператора <code>break</code> з циклами <code>for</code></h3>
-
-<pre class="brush: js notranslate">var i, j;
-
-loop1:
-for (i = 0; i &lt; 3; i++) { //Перший цикл for помічений як "loop1"
- loop2:
- for (j = 0; j &lt; 3; j++) { //Другий цикл for помічений як "loop2"
- if (i === 1 &amp;&amp; j === 1) {
- break loop1;
- }
- console.log('i = ' + i + ', j = ' + j);
- }
-}
-
-// Результат:
-// "i = 0, j = 0"
-// "i = 0, j = 1"
-// "i = 0, j = 2"
-// "i = 1, j = 0"
-// Зауважте різницю з попереднім прикладом з continue</pre>
-
-<h3 id="Використання_поміченого_оператора_break">Використання поміченого оператора <code>break</code></h3>
-
-<p>Маючи масив елементів та масив тестів, цей приклад визначає, чи усі елементи пройшли усі тести.</p>
-
-<pre class="brush: js notranslate">var allPass = true;
-var i, j;
-
-top:
-for (i = 0; items.length; i++)
- for (j = 0; j &lt; tests.length; i++)
- if (!tests[j].pass(items[i])) {
- allPass = false;
- break top;
- }</pre>
-
-<h3 id="Використання_поміченого_блоку_з_оператором_break">Використання поміченого блоку з оператором <code>break</code></h3>
-
-<p>Ви можете використовувати мітки всередині звичайних блоків, але тільки оператор <code>break</code> може працювати з мітками не у циклах.</p>
-
-<pre class="brush: js notranslate">foo: {
- console.log('пере');
- break foo;
- console.log('ця частина не виконається');
-}
-console.log('стрибнув');
-
-// цей код виведе:
-
-// "пере"
-// "стрибнув </pre>
-
-<h3 id="Помічені_оголошення_функцій">Помічені оголошення функцій</h3>
-
-<p>Починаючи з ECMAScript 2015, помічені оголошення функцій тепер стандартизовані для не строгого режиму у <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-labelled-function-declarations">додатку специфікації щодо веб-сумісності</a>.</p>
-
-<pre class="brush: js notranslate">L: function F() {}</pre>
-
-<p>Однак, у <a href="/uk/docs/Web/JavaScript/Reference/Strict_mode">строгому режимі</a> це викине помилку {{jsxref("SyntaxError")}}:</p>
-
-<pre class="brush: js notranslate">'use strict';
-L: function F() {}
-// SyntaxError: functions cannot be labelled</pre>
-
-<p><a href="/uk/docs/Web/JavaScript/Reference/Statements/function*">Функції-генератори</a> також не можуть мати мітки ні у строгому, ні у звичайному режимі:</p>
-
-<pre class="brush: js notranslate">L: function* F() {}
-// SyntaxError: generator functions cannot be labelled
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Специфікація</th>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-labelled-statements', 'Labelled statement')}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.statements.label")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Statements/break", "break")}}</li>
- <li>{{jsxref("Statements/continue", "continue")}}</li>
-</ul>