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