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
statement
JavaScript è¯å¥ãbreak
å¯ä»¥å¨ä»»ä½æ è®°è¯å¥ä¸ä½¿ç¨ï¼è continue
å¯ä»¥å¨æ è®°ç循ç¯è¯å¥ä¸ä½¿ç¨ã
ä½ å¯ä»¥ä½¿ç¨æ ç¾æ¥æ è¯è¯å¥ï¼å¹¶å¨åç»ä½¿ç¨ break
æ continue
è¯å¥æ¥å¼ç¨è¯¥æ ç¾ã请注æï¼JavaScript 没æ goto
è¯å¥ï¼ä½ åªè½å°æ ç¾ä¸ break
æ continue
ä¸èµ·ä½¿ç¨ã
ä»»ä½å¼ç¨ label
ç break
æ continue
è¯å¥é½å¿
é¡»ä½äºæ è®°è¯å¥ label
ææ è®°çè¯å¥çèå´å
ãæ label
ç使¯ä»
å¨ statement
ä½ç¨åå
å¯ç¨çåéã
妿卿§è¡ statement
æ¶éå° break label;
è¯å¥ï¼å statement
æ§è¡ç»æ¢ï¼å¹¶ç»§ç»æ§è¡æ è®°çè¯å¥ä¹åçè¯å¥ã
continue label;
åªè½å¨ statement
æ¯å¾ªç¯è¯å¥æ¶ä½¿ç¨ã妿卿§è¡ statement
æ¶éå° continue label;
è¯å¥ï¼å statement
ç»§ç»æ§è¡å¾ªç¯çä¸ä¸æ¬¡è¿ä»£ãä¸å¸¦æ ç¾ç continue;
è¯å¥åªè½ç»§ç»æå
å±ç循ç¯ï¼è continue label;
è¯å¥å¯ä»¥ç»§ç»ä»»ä½ç»å®ç循ç¯ï¼å³ä½¿è¯¥è¯å¥åµå¥å¨å
¶ä»å¾ªç¯ä¸ã
ä¸ä¸ªè¯å¥å¯ä»¥æå¤ä¸ªæ ç¾ãå¨è¿ç§æ åµä¸ï¼è¿äºæ ç¾å¨åè½ä¸é½æ¯çä»·çã
ç¤ºä¾ å¨ for 循ç¯ä¸ä½¿ç¨å¸¦æ ç¾ç continue è¯å¥// 第ä¸ä¸ª for è¯å¥è¢«æ 记为âloop1â
loop1: for (let i = 0; i < 3; i++) {
// 第äºä¸ª for è¯å¥è¢«æ 记为âloop2â
loop2: for (let j = 0; j < 3; j++) {
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âã
å¨ for 循ç¯ä¸ä½¿ç¨å¸¦æ ç¾ç break è¯å¥let i, j;
// 第ä¸ä¸ª for è¯å¥è¢«æ 记为âloop1â
loop1: for (i = 0; i < 3; i++) {
// 第äºä¸ª for è¯å¥è¢«æ 记为âloop2â
loop2: for (j = 0; j < 3; j++) {
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 loop1
æ¶ï¼å¤å±å¾ªç¯çæ§è¡ç»æ¢ï¼å æ¤ä¹åçæ¥å¿é½ä¸ä¼åè¾åºï¼å½éå° continue loop1
æ¶ï¼å¤å±å¾ªç¯çæ§è¡ä¼ç»§ç»ä¸ä¸æ¬¡è¿ä»£ï¼å æ¤ä¼è·³è¿âi = 1, j = 1âåâi = 1, j = 2âã
ç»å®ä¸ä¸ªæ°æ®æ°ç»åä¸ä¸ªæµè¯æ°ç»ï¼ä¸é¢çä¾åä¼ç»è®¡éè¿æµè¯çæ°æ®çæ°éã
// ä» 1 å° 100 çæ°å
const items = Array.from({ length: 100 }, (_, i) => i + 1);
const tests = [
{ pass: (item) => item % 2 === 0 },
{ pass: (item) => item % 3 === 0 },
{ pass: (item) => item % 5 === 0 },
];
let itemsPassed = 0;
itemIteration: for (const item of items) {
for (const test of tests) {
if (!test.pass(item)) {
continue itemIteration;
}
}
itemsPassed++;
}
请注æ continue itemIteration;
è¯å¥å¦ä½è·³è¿å½å项çå
¶ä½æµè¯ä»¥åæ´æ° itemsPassed
计æ°å¨çè¯å¥ï¼å¹¶ç»§ç»ä¸ä¸ä¸ªé¡¹ç®ãå¦æä½ ä¸ä½¿ç¨æ ç¾ï¼åéè¦ä½¿ç¨å¸å°æ å¿ã
// ä» 1 å° 100 çæ°å
const items = Array.from({ length: 100 }, (_, i) => i + 1);
const tests = [
{ pass: (item) => item % 2 === 0 },
{ pass: (item) => item % 3 === 0 },
{ pass: (item) => item % 5 === 0 },
];
let itemsPassed = 0;
for (const item of items) {
let passed = true;
for (const test of tests) {
if (!test.pass(item)) {
passed = false;
break;
}
}
if (passed) {
itemsPassed++;
}
}
使ç¨å¸¦æ ç¾ç break è¯å¥
ç»å®ä¸ä¸ªæ°æ®æ°ç»åä¸ä¸ªæµè¯æ°ç»ï¼ä¸é¢çä¾åä¼ç¡®å®æææ°æ®æ¯å¦éè¿æææµè¯ã
// ä» 1 å° 100 çæ°å
const items = Array.from({ length: 100 }, (_, i) => i + 1);
const tests = [
{ pass: (item) => item % 2 === 0 },
{ pass: (item) => item % 3 === 0 },
{ pass: (item) => item % 5 === 0 },
];
let allPass = true;
itemIteration: for (const item of items) {
for (const test of tests) {
if (!test.pass(item)) {
allPass = false;
break itemIteration;
}
}
}
åæ ·ï¼å¦æä½ ä¸ä½¿ç¨æ ç¾ï¼åéè¦ä½¿ç¨å¸å°æ å¿ã
// ä» 1 å° 100 çæ°å
const items = Array.from({ length: 100 }, (_, i) => i + 1);
const tests = [
{ pass: (item) => item % 2 === 0 },
{ pass: (item) => item % 3 === 0 },
{ pass: (item) => item % 5 === 0 },
];
let allPass = true;
for (const item of items) {
let passed = true;
for (const test of tests) {
if (!test.pass(item)) {
passed = false;
break;
}
}
if (!passed) {
allPass = false;
break;
}
}
å¨å¸¦æ ç¾çåè¯å¥ä¸ä½¿ç¨ break
ä½ å¯ä»¥æ è®°é¤å¾ªç¯è¯å¥ä»¥å¤çè¯å¥ï¼ä¾å¦ç®åçåï¼ä½åªæ break
è¯å¥æè½å¼ç¨éå¾ªç¯æ ç¾ã
foo: {
console.log("è¸");
break foo;
console.log("è¿å¥ä¸ä¼è¢«æ§è¡");
}
console.log("交æ¢");
// è¾åºï¼
// "è¸"
// "交æ¢"
æ è®°å½æ°å£°æ
åªè½æ è®°è¯å¥èä¸è½æ 记声æãå¨éä¸¥æ ¼ä»£ç ä¸ï¼æä¸ç§éçè¯æ³å è®¸ä½¿ç¨æ ç¾æ¥æ è®°å½æ°å£°æï¼
å¨ä¸¥æ ¼æ¨¡å¼ä¸ï¼è¿å°ä¼æåºä¸ä¸ª 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