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 后跳出当前执行, 执行下次循环 |