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
label
ä»»ä½ä¸æ¯ä¿çåç JavaScript èå¥ç¬¦èã
statement
ä¸å JavaScript é³è¿°å¼ãbreak
å¯ç¨æ¼ä»»ä½æ¨è¨é³è¿°å¼ï¼è continue
å¯ç¨æ¼å¾ªç°æ¨è¨é³è¿°å¼ã
å¯ä½¿ç¨ä¸åæ¨ç±¤ä¾å¯ä¸æ¨è¨ä¸å循ç°ï¼ç¶å¾ä½¿ç¨ break
æ continue
é³è¿°å¼ä¾æç¤ºç¨å¼æ¯å¦ä¸æ·å¾ªç°æç¹¼çºå·è¡ã
éè¦æ³¨æçæ¯ JavaScript æ²æ goto
é³è¿°å¼ï¼æ¨è¨åªè½å break
æ continue
ä¸èµ·ä½¿ç¨ã
å¨å´æ ¼æ¨¡å¼ä¸ï¼ä½ ä¸è½ä½¿ç¨ ãlet
ã ä½çºæ¨ç±¤å稱ã宿æåºä¸åSyntaxError
ï¼let æ¯ä¸åä¿ççèå¥ç¬¦èï¼ã
for
è¿´åä¸ä½¿ç¨å¸¶æ¨è¨ç continue
var i, j;
loop1: for (i = 0; i < 3; i++) {
//The first for statement is labeled "loop1"
loop2: for (j = 0; j < 3; j++) {
//The second for statement is labeled "loop2"
if (i === 1 && j === 1) {
continue loop1;
}
console.log("i = " + i + ", j = " + j);
}
}
// Output is:
// "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"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"
使ç¨å¸¶æ¨è¨ç continue
é³è¿°å¼
給å®ä¸çµè³æåä¸çµæ¸¬è©¦ï¼ä¸é¢çä¾åå¯ä»¥çµ±è¨é鿏¬è©¦çè³æã
var itemsPassed = 0;
var 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++;
}
å¨ for
è¿´åä¸ä½¿ç¨å¸¶æ¨è¨ç break
var i, j;
loop1: for (i = 0; i < 3; i++) {
//The first for statement is labeled "loop1"
loop2: for (j = 0; j < 3; j++) {
//The second for statement is labeled "loop2"
if (i === 1 && j === 1) {
break loop1;
}
console.log("i = " + i + ", j = " + j);
}
}
// Output is:
// "i = 0, j = 0"
// "i = 0, j = 1"
// "i = 0, j = 2"
// "i = 1, j = 0"
// Notice the difference with the previous continue example
使ç¨å¸¶æ¨è¨ break
é³è¿°å¼
給å®ä¸çµè³æåä¸çµæ¸¬è©¦ï¼ä¸é¢çä¾å夿·æ¯å¦ææçè³æåééäºæ¸¬è©¦ã
var allPass = true;
var i, j;
top: for (i = 0; items.length; i++)
for (j = 0; j < tests.length; i++)
if (!tests[j].pass(items[i])) {
allPass = false;
break top;
}
卿¨è¨çåå¡ä¸ä½¿ç¨ break
ä½ å¯ä»¥å¨ç¨å¼ç¢¼åå¡ä¸ä½¿ç¨æ¨è¨ï¼ä½åªæ break
é³è¿°å¼å¯ä»¥ä½¿ç¨éè¿´åçæ¨è¨ã
foo: {
console.log("face");
break foo;
console.log("this will not be executed");
}
console.log("swap");
// this will log:
// "face"
// "swap
æ¨è¨çå½å¼å®£åå¼
å¾ ECMAScript 2015 éå§ï¼æ¨æºçå½å¼å®£åå¼ç¾å¨å°è¦ç¯ç Web ç¸å®¹æ§éä»¶ä¸çéå´æ ¼ç¨å¼ç¢¼é²è¡äºæ¨æºåã
å¨å´æ ¼æ¨¡å¼ä¸ï¼éææåº 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