Baseline Widely available
ÐпеÑаÑÐ¾Ñ break
пÑеÑÑÐ²Ð°ÐµÑ Ð²Ñполнение ÑекÑÑего Ñикла, опеÑаÑоÑа множеÑÑвенного вÑбоÑа switch
или блоÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¼ÐµÑкой. ÐÑполнение кода пÑодолжаеÑÑÑ Ñ ÐºÐ¾Ð½ÑÑÑÑкÑии, ÑледÑÑÑей за пÑеÑванной.
let i = 0;
while (i < 6) {
if (i === 3) {
break;
}
i = i + 1;
}
console.log(i);
// Expected output: 3
СинÑакÑиÑ
label
ÐеобÑзаÑелÑнÑй
ÐденÑиÑикаÑÐ¾Ñ ÑвÑзанной меÑки. ÐÑли пÑеÑÑваемое вÑÑажение не Ñикл или switch
, Ñказание меÑки обÑзаÑелÑно.
С помоÑÑÑ Ð¾Ð¿ÐµÑаÑоÑа break
можно пÑеÑваÑÑ Ð²Ñполнение блоÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¼ÐµÑкой. Ð Ñаком ÑлÑÑае break
должен наÑ
одиÑÑÑÑ Ð²Ð½ÑÑÑи блока кода Ñ Ñказанной меÑкой. Само блоÑное вÑÑажение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»ÑбÑм, а не ÑолÑко Ñиклом.
ÐÑполÑзование break
, Ñ Ð¼ÐµÑкой или без, невозможно внÑÑÑи ÑÑнкÑии, коÑоÑÐ°Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð° в пÑеÑÑваемÑе Ñикл, конÑÑÑÑкÑÐ¸Ñ switch
или блоÑное вÑÑажение Ñ Ð¼ÐµÑкой.
СледÑÑÑÐ°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑполÑзÑÐµÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ break
Ð´Ð»Ñ Ð²ÑÑ
ода из Ñикла while
, когда i
ÑÑÐ°Ð½ÐµÑ Ñавно 3, и возвÑаÑÐ°ÐµÑ Ð·Ð½Ð°Ñение 3 * x
.
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3) {
break;
}
i += 1;
}
return i * x;
}
break в конÑÑÑÑкÑии switch
РпÑимеÑе опеÑаÑÐ¾Ñ break
пÑеÑвÑÑ Ð²Ñполнение switch
ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° в ÑовпавÑем case
.
const food = "sushi";
switch (food) {
case "sushi":
console.log("Sushi is originally from Japan.");
break;
case "pizza":
console.log("Pizza is originally from Italy.");
break;
default:
console.log("I have never heard of that dish.");
break;
}
break в блоÑном вÑÑажении Ñ Ñказанной меÑкой
РпÑимеÑе иÑполÑзÑеÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ break
Ñ Ð¼ÐµÑкой. Ð Ñаком ÑлÑÑае break
обÑзаÑелÑно должен бÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½ в блок кода Ñ Ñой же меÑкой. ÐбÑаÑиÑе внимание, ÑÑо inner_block
вложен в outer_block
.
outer_block: {
inner_block: {
console.log("1");
break outer_block; // break пÑеÑвÑÑ Ð²Ñполнение кода как в inner_block, Ñак и в outer_block
console.log(":-("); // не бÑÐ´ÐµÑ Ð²Ñполнено
}
console.log("2"); // не бÑÐ´ÐµÑ Ð²Ñполнено
}
break вне блоÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ Ñказанной меÑкой
РпÑимеÑе Ñакже иÑполÑзÑеÑÑÑ break
Ñ Ð¼ÐµÑкой, но код бÑÐ´ÐµÑ Ð²Ñполнен Ñ Ð¾Ñибкой SyntaxError
, поÑÐ¾Ð¼Ñ ÑÑо break
наÑ
одиÑÑÑ Ð² блоке Ñ Ð¼ÐµÑкой block_1
, а пÑеÑÑваеÑÑÑ Ð²Ñполнение блока кода Ñ Ð¼ÐµÑкой block_2
. ÐÑÑ Ñаз, в Ñаком ÑлÑÑае break
обÑзаÑелÑно должен бÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½ в блок кода Ñ Ð¼ÐµÑкой, вÑполнение коÑоÑого ÑÑебÑеÑÑÑ Ð¿ÑеÑваÑÑ.
block_1: {
console.log('1');
break block_2; // SyntaxError: label not found
}
block_2: {
console.log('2');
}
break внÑÑÑи ÑÑнкÑий
Ðод в пÑимеÑаÑ
Ñакже бÑÐ´ÐµÑ Ð²Ñполнен Ñ Ð¾Ñибкой SyntaxError
, поÑÐ¾Ð¼Ñ ÑÑо в обоиÑ
ÑлÑÑаÑÑ
break
наÑ
одиÑÑÑ Ð² Ñеле ÑÑнкÑии, вложенной в пÑеÑÑваемÑй Ñикл или пÑеÑÑваемое блоÑное вÑÑажение Ñ Ð¼ÐµÑкой.
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3) {
(function() {
break;
})();
}
i += 1;
}
return i * x;
}
testBreak(1); // SyntaxError: Illegal break statement
block_1: {
console.log('1');
( function() {
break block_1; // SyntaxError: Undefined label 'block_1'
})();
}
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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