JavaScript中for循环的break,continue和return。


1.for...of 循环可以与break、continue 和 return 配合使用,跳出循环
2.forEach 循环无法中途跳出,break 命令或 return 命令都不能奏效。

1.跳出本轮循环 return

let arr = [1,2,3,4,5,6]
arr.forEach(function(element){
    if(element==3){
        return;
    }
    console.log(element);
});
//1 2 4 5 6
//没有打印出3

2.跳出整个循环 try catch

MDN中:没有办法中止或跳出 forEach() 循环。
但是如果就是想跳出,使用try catch捕获异常。当然这个是使程序中断-算跳出,但是严格意义上说 map forEach 他们本身属于迭代行为就不支持跳出的。

let arr = [1,2,3,4,5,6];
try {
    arr.forEach(function(element){
        if(element==3){
            throw new Error("抛出异常跳出");
        }
        console.log(element);
    });
} catch (error) {
    console.log('出错了');
    console.log(error);
}

//1 2
出错了
Error: 抛出异常跳出
    at foreach.js:5:19
    at Array.forEach (<anonymous>)

3.多层for循环的break

java中,订label,需要使用break时带上label,跳出指定的label。

	public void test(T) {
		flag: for (int i = 1; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (i == 2) {
					break flag;
				} else {
					System.out.println("i=" + i + " ;j=" + j);
				}
			}
		}

在JavaScript中思想和java也是一样的。

out: for (let i = 0; i < 4; i++) {
    for (let j = 0; j < 3; j++) {
        console.log("i " + i+" " + "j " + j);
        if (j === 2) {
            break out;
        }
    }
}
// i 0 j 0
// i 0 j 1
// i 0 j 2


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM