MDN: breakexpress
定義
break 語句停止當前循環,switch 語句或 label 語句,並把程序控制流轉到緊接着被停止語句後面的語句。bash
語法函數
break [label];ui
label
可選。與語句標籤相關聯的標識符。若是 break 語句不在一個循環或 switch 語句中,則該項是必須的。spa
MDN: returncode
定義
return 語句終止函數的執行,並返回一個指定的值給函數調用者。ip
語法get
return [[expression]];string
expression
表達式的值會被返回。若是忽略,則返回 undefined。it
MDN: continue
定義
continue 語句結束當前(或標籤)的循環語句的本次迭代,並繼續執行循環的下一次迭代。
語法
continue [ label];
label
標識標號關聯的語句
function execute() {
var arr = [1, 2, 3],
i = 0,
len = arr.length;
for (; i < len; i++) {
// if (i === 1) [statement];
console.log(`key: ${i} \nvalue: ${arr[i]}`);
}
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | key: 0 value: 1 execute undefined |
跳出循環 |
continue | key: 0 value: 1 key: 2 value: 3 execute undefined |
跳出當前執行,執行下次循環 |
return | key: 0 value: 1 undefined |
跳出函數 |
function execute() {
var num = 0;
while (num <= 3) {
num++;
// if (num === 1) [statement];
console.log(num);
}
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | execute undefined |
跳出循環 |
continue | 2 3 4 execute undefined |
跳出當前執行,執行下次循環 |
return | undefined | 跳出函數 |
function execute() {
var num = 3;
do {
num--;
if (num === 1) break;
console.log(num);
} while (num >= 0)
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | 2 execute undefined |
跳出循環 |
continue | 2 0 -1 execute undefined |
跳出當前執行,執行下次循環 |
return | 2 undefined |
跳出函數 |
function execute() {
var obj = {a: 1, b:2, c: 3};
for(let key in obj) {
// if(obj[key] === 1) [statement];
console.log(obj[key]);
}
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | execute undefined |
跳出循環 |
continue | 2 3 execute undefined |
跳出當前執行,執行下次循環 |
return | undefined | 跳出函數 |
function execute() {
var arr = [1, 2, 3];
for(let value in arr) {
// if(value === 1) [statement];
console.log(value);
}
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | execute undefined |
跳出循環 |
continue | 2 3 execute undefined |
跳出當前執行,執行下次循環 |
return | undefined | 跳出函數 |
function execute() {
var arr = [1, 2, 3];
var result = arr.map(v=> {
// if(v === 1) [statement];
console.log(v);
})
console.log(result);
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | SyntaxError: Illegal break statement | map 中不容許使用 break |
continue | Illegal continue statement: no surrounding iteration statement | map 中不容許使用 continue |
return 'result' | 2 3 ['result', undefined, undefined] execute undefined |
保持 map 的返回值,執行下次循環 |
function execute() {
var arr = [1, 2, 3];
var result = arr.forEach(v=> {
// if(v === 1) [statement];
console.log(v);
})
console.log(result);
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | SyntaxError: Illegal break statement | forEach 中不容許使用 break |
continue | Illegal continue statement: no surrounding iteration statement | forEach 中不容許使用 continue |
return 'result' | 2 3 undefined execute undefined |
forEach 自己無返回值,這裏無效果,執行下次循環 |
function execute() {
var arr = [1, 2, 3];
var result = arr.every(v=> {
if(v === 1) [statement];
console.log(v);
})
console.log(result);
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | SyntaxError: Illegal break statement | every 中不容許使用 break |
continue | Illegal continue statement: no surrounding iteration statement | every 中不容許使用 continue |
return 'result' | 2 false execute undefined |
every 數據中存在不知足 v === 1 的數據,則返回 false, return 後執行下次循環 |
function execute() {
var arr = [1, 2, 3];
var result = arr.some(v=> {
if(v === 1) [statement];
console.log(v);
})
console.log(result);
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | SyntaxError: Illegal break statement | some 中不容許使用 break |
continue | Illegal continue statement: no surrounding iteration statement | some 中不容許使用 continue |
return 'result' | true execute undefined |
some 數據中只要存在知足 v === 1 的數據,則返回 true, 這裏 return 後跳出循環 |
function execute() {
var arr = [1, 2, 3];
var result = arr.filter(v=> {
if(v === 1) [statement];
console.log(v);
})
console.log(result);
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | SyntaxError: Illegal break statement | filter 中不容許使用 break |
continue | Illegal continue statement: no surrounding iteration statement | filter 中不容許使用 continue |
return 'result' | 2 3 [1] execute undefined |
filter 篩選知足條件的數據, 這裏 return 後跳出當前執行,執行下次循環 |
function execute() {
var arr = [1, 2, 3];
var result = arr.reduce((prev, cur)=> {
if(prev === 1) return 'result';
console.log(prev, cur);
})
console.log(result);
console.log('execute');
}
var result = execute();
console.log(result);
複製代碼
statement | 結果 | 說明 |
---|---|---|
break | SyntaxError: Illegal break statement | reduce 中不容許使用 break |
continue | Illegal continue statement: no surrounding iteration statement | reduce 中不容許使用 continue |
return 'result' | result 3 undefined execute undefined |
reduce prev 表明前一個返回值, 這裏 return 後跳出當前執行, 執行下次循環 |