JavaScript跳出循環(huán)的幾種常用方法總結(jié)
前言
在編程中,我們經(jīng)常使用 for
循環(huán)來查找數(shù)據(jù)或進行批量操作。當(dāng)找到目標數(shù)據(jù)后,為了優(yōu)化性能,需要提前結(jié)束循環(huán)。以下是幾種常用的跳出循環(huán)方法。
1. 跳過當(dāng)前循環(huán)(continue)
使用 continue
跳過當(dāng)前迭代,直接進入下一次循環(huán)。
for (let i = 0; i < 5; i++) { if (i === 2) continue; // 跳過i=2的情況 console.log(i); } // 輸出: // 0 // 1 // 3 // 4
2. 跳出當(dāng)前循環(huán)(break)
使用 break
完全終止當(dāng)前循環(huán)。
for (let i = 0; i < 5; i++) { if (i === 3) break; // 當(dāng)i=3時終止循環(huán) console.log(i); } // 輸出: // 0 // 1 // 2
3. 跳出多層循環(huán)
方法一:使用 label 語句
通過給循環(huán)添加標簽,可以跳出指定的外層循環(huán)。
outerLoop: for (let i = 0; i < 3; i++) { for (let j = 0; j < 3; j++) { if (i === 1 && j === 1) { break outerLoop; // 跳出外層循環(huán) } console.log(i, j); } } // 輸出: // 0 0 // 0 1 // 0 2 // 1 0
方法二:使用函數(shù) return
將循環(huán)放在函數(shù)中,通過 return
直接退出整個函數(shù)。
function findMatch() { for (let i = 0; i < 4; i++) { for (let j = 0; j < 4; j++) { if (i + j === 3) { console.log(`找到匹配: ${i}, ${j}`); return; // 退出整個函數(shù) } console.log(`正在檢查: ${i}, ${j}`); } } } findMatch(); // 輸出: // 正在檢查: 0, 0 // 正在檢查: 0, 1 // 正在檢查: 0, 2 // 找到匹配: 0, 3
4. 跳出代碼塊(label + break)
標簽也可以用于跳出任意代碼塊。
myBlock: { console.log("第一行"); break myBlock; console.log("這行不會執(zhí)行"); } console.log("塊外代碼"); // 輸出: // 第一行 // 塊外代碼
總結(jié)
方法 | 作用 | 適用場景 |
---|---|---|
continue | 跳過當(dāng)前迭代 | 需要跳過某些特定情況時 |
break | 終止當(dāng)前循環(huán) | 找到目標后結(jié)束循環(huán) |
label + break | 跳出指定循環(huán)或代碼塊 | 多層嵌套循環(huán)控制 |
return | 退出整個函數(shù) | 循環(huán)在函數(shù)內(nèi)部時 |
選擇合適的方法可以提高代碼效率和可讀性。
相關(guān)文章
JavaScript必看的10道面試題總結(jié)(推薦)
JavaScript 已經(jīng)成為全棧開發(fā)技能的基石,在全棧開發(fā)面試中都會不可避免地涉及到與 JavaScript 有關(guān)的問題。這篇文章主要給大家介紹了關(guān)于JavaScript必看的10道面試題,需要的朋友可以參考下2021-05-05各瀏覽器對document.getElementById等方法的實現(xiàn)差異解析
這篇文章主要是對各瀏覽器對document.getElementById等方法的實現(xiàn)差異進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12swiperjs實現(xiàn)導(dǎo)航與tab頁的聯(lián)動
這篇文章主要為大家詳細介紹了swiperjs實現(xiàn)導(dǎo)航與tab頁的聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-12-12js動態(tài)控制table的tr、td增加及刪除的具體實現(xiàn)
這篇文章主要介紹了使用js如何動態(tài)控制table的tr,td增加及刪除,需要的朋友可以參考下2014-04-04JavaScript仿微信(電話)聯(lián)系人列表滑動字母索引實例講解(推薦)
這篇文章主要介紹了仿微信(電話)聯(lián)系人列表滑動字母索引實例,通過for循環(huán)進行判斷,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08JavaScript實現(xiàn)網(wǎng)頁端播放攝像頭實時畫面
這篇文章主要介紹了如何利用JavaScript實現(xiàn)在網(wǎng)頁端播放局域網(wǎng)(不能上云)或是廣域網(wǎng)的攝像頭的實時畫面,文中的示例代碼講解詳細,需要的可以參考一下2022-02-02基于BootStrap Metronic開發(fā)框架經(jīng)驗小結(jié)【三】下拉列表Select2插件的使用
本文主要給大家介紹在編輯頁面中常用到的控件Select2,這個控件可以更加豐富傳統(tǒng)的Select下拉列表控件,提供更多的功能和更好的用戶體驗,2016-05-05