Baseline Widely available
ÐеÑки иÑполÑзÑÑÑÑÑ Ð²Ð¼ÐµÑÑе Ñ Ð¾Ð¿ÐµÑаÑоÑами break
и continue
. Ðни вÑÑÑÑпаÑÑ Ð² Ñоли иденÑиÑикаÑоÑа инÑÑÑÑкÑии, на коÑоÑÑй можно ÑоÑлаÑÑÑÑ.
let str = "";
loop1: for (let i = 0; i < 5; i++) {
if (i === 1) {
continue loop1;
}
str = str + i;
}
console.log(str);
// Expected output: "0234"
СинÑакÑиÑ
label
ÐденÑиÑикаÑоÑ. ÐÑбое Ñлово, кÑоме клÑÑевÑÑ Ð¸ заÑезеÑвиÑованнÑÑ Ð² JavaScript.
statement
ÐнÑÑÑÑкÑиÑ. break
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован внÑÑÑи лÑбого блока инÑÑÑÑкÑий Ñ Ð¼ÐµÑкой, а Ñ continue
ÑолÑко внÑÑÑи Ñиклов.
ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¼ÐµÑки Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ñиклов, ÑÑÐ¾Ð±Ñ Ð·Ð°Ñем пÑи помоÑи break
или continue
вÑÑ
одиÑÑ Ð¸Ð· Ñикла или пÑодолжаÑÑ ÐµÐ³Ð¾ ÑабоÑÑ Ñ Ð½Ð¾Ð²Ð¾Ð¹ иÑеÑаÑии ÑооÑвеÑÑÑвенно.
ÐбÑаÑиÑе внимание, в JavaScript оÑÑÑÑÑÑвÑÐµÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ goto
, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¼ÐµÑки ÑолÑко Ñ break
или continue
.
Ð ÑÑÑогом Ñежиме иÑполÑзование Ñлова "let
" в каÑеÑÑве имени меÑки запÑеÑено â Ð²Ñ Ð¿Ð¾Ð»ÑÑиÑе оÑÐ¸Ð±ÐºÑ SyntaxError
(поÑÐ¾Ð¼Ñ ÑÑо let
ÑвлÑеÑÑÑ ÐºÐ»ÑÑевÑм Ñловом в новÑÑ
ÑÑандаÑÑаÑ
JavaScript).
let i, j;
loop1: for (i = 0; i < 3; i++) {
//ÐеÑвÑй Ñикл, обознаÑеннÑй меÑкой "loop1"
loop2: for (j = 0; j < 3; j++) {
//ÐÑоÑой Ñикл, обознаÑеннÑй меÑкой "loop2"
if (i === 1 && 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"
ÐÑÑгой пÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑки Ñ continue
РпÑимеÑе по маÑÑÐ¸Ð²Ñ ÑлеменÑов и маÑÑÐ¸Ð²Ñ ÑеÑÑ-ÑÑнкÑий вÑÑиÑлÑеÑÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑлеменÑов, коÑоÑÑе пÑÐ¾Ñ Ð¾Ð´ÑÑ Ð²Ñе ÑеÑÑÑ.
let itemsPassed = 0;
let i, j;
top: for (i = 0; i < items.length; i++) {
for (j = 0; j < tests.length; j++) {
if (!tests[j].pass(items[i])) {
continue top;
}
}
itemsPassed++;
}
ÐÑполÑзование меÑки Ñ Ð¾Ð¿ÐµÑаÑоÑом break в Ñикле
let i, j;
loop1: for (i = 0; i < 3; i++) {
//ÐеÑвÑй Ñикл, обознаÑеннÑй меÑкой "loop1"
loop2: for (j = 0; j < 3; j++) {
//ÐÑоÑой Ñикл, обознаÑеннÑй меÑкой "loop2"
if (i === 1 && 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
ÐÑÑгой пÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑки Ñ break
РпÑимеÑе по маÑÑÐ¸Ð²Ñ ÑлеменÑов и маÑÑÐ¸Ð²Ñ ÑеÑÑ-ÑÑнкÑий опÑеделÑеÑÑÑ, вÑе ли ÑлеменÑÑ Ð¿ÑÐ¾Ñ Ð¾Ð´ÑÑ Ð²Ñе ÑеÑÑÑ.
let allPass = true;
let i, j;
top: for (i = 0; i < items.length; i++) {
for (j = 0; j < tests.length; j++) {
if (!tests[j].pass(items[i])) {
allPass = false;
break top;
}
}
}
ÐÑполÑзование меÑки Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ° инÑÑÑÑкÑий Ñ break
ÐеÑки можно иÑполÑзоваÑÑ Ð´Ð»Ñ Ð¾Ð±ÑÑнÑÑ
блоков кода, но ÑолÑко Ñ Ð¾Ð¿ÐµÑаÑоÑом break
.
foo: {
console.log("пÑивеÑ");
break foo;
console.log("ÑÑа ÑÑÑока не бÑÐ´ÐµÑ Ð¸Ñполнена");
}
console.log("миÑ");
// ÐÑвод:
// "пÑивеÑ"
// "миÑ"
ÐбÑÑвление ÑÑнкÑий Ñ Ð¼ÐµÑкой
ÐаÑÐ¸Ð½Ð°Ñ Ñ ECMAScript 2015, обÑÑвление ÑÑнкÑии Ñ Ð¼ÐµÑкой допÑÑкаеÑÑÑ ÑолÑко в обÑÑном Ñежиме Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ ÑÑой неÑÑандаÑÑной, но Ñеализованной в некоÑоÑÑÑ Ð±ÑаÑзеÑÐ°Ñ , возможноÑÑÑÑ.
Ðднако в ÑÑÑогом Ñежиме Ñакой код вÑÐ·Ð¾Ð²ÐµÑ Ð¾ÑÐ¸Ð±ÐºÑ SyntaxError
:
"use strict";
L: function F() {}
// SyntaxError: functions cannot be labelled
ÐбÑÑвление ÑÑнкÑий-генеÑаÑоÑов Ñ Ð¼ÐµÑкой не допÑÑкаеÑÑÑ Ð½Ð¸ в обÑÑном, ни в ÑÑÑогом ÑÐµÐ¶Ð¸Ð¼Ð°Ñ :
L: function* F() {}
// SyntaxError: generator functions cannot be labelled
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4