前言
一般我們在寫程序的時候都會用到for循環來查找某一個值或者是對數據做指定的修改,但是我們要尋找的數據並不是放在循環的最後面的,所以當我們找到數據之後,爲了節約瀏覽器的性能,免不了有結束循環的需求,以下是幾種常用的跳出循環的方法。
跳過當前循環
我們可以使用continue
來跳過當前循環,直接進入下個循環。
for (var i = 0; i < 3; i++){
if(i == 2) continue;
console.log(i);
}
//0
//2
跳出當前循環
我們可以使用break
來跳出當前循環;結束當前for循環;如下當我們break
之後的代碼就不會再執行了。
for (var i = 0; i < 5; i++){
if(i == 3) break;
console.log(i);
}
//0
//1
//2
跳出多層for循環
但是當我們使用了多層for循環的時候,使用continue
和break
就無法跳出外層的循環了,所以我們需要使用一些技巧,來跳出外層循環。
- 使用lebel語句
標籤可以是任意的標識符,但不能是保留字,語句部分可以是任意語句。
jump:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) {
break jump;
}
console.log( i , j);
}
}
//0 0
//0 1
//0 2
//1 0
label也可以用於跳出代碼塊,注意要加 break 才能退出。
jump: {
console.log(1);
break jump;
console.log('不會輸出');
}
console.log(2);
// 1
// 2
- 使用function
function jumpFor() {
for(var k=0;k<8;k++){
for(var j=0;j<4;j++){
if(k == j ){return false;}
console.log(k,j)
}
}
}
jumpFor()
//0 2
//0 3
//1 2
//1 3
小結
一般常用到的方法就是這些,此文做筆記使用,歡迎各位指正。