W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
break 和 continue 語句對(duì)循環(huán)中的代碼執(zhí)行提供了更嚴(yán)格的控制。
break 語句可以立即退出循環(huán),阻止再次反復(fù)執(zhí)行任何代碼。
而 continue 語句只是退出當(dāng)前循環(huán),根據(jù)控制表達(dá)式還允許繼續(xù)進(jìn)行下一次循環(huán)。
例如:
var iNum = 0; for (var i=1; i<10; i++) { if (i % 5 == 0) {break;
} iNum++; } alert(iNum); //輸出 "4"
在以上代碼中,for 循環(huán)從 1 到 10 迭代變量 i。在循環(huán)主體中,if 語句將(使用取模運(yùn)算符)檢查 i 的值是否能被 5 整除。如果能被 5 整除,將執(zhí)行 break 語句。alert 顯示 "4",即退出循環(huán)前執(zhí)行循環(huán)的次數(shù)。
如果用 continue 語句代替這個(gè)例子中的 break 語句,結(jié)果將不同:
var iNum = 0; for (var i=1; i<10; i++) { if (i % 5 == 0) { continue; } iNum++; } alert(iNum); //輸出 "8"
這里,alert 將顯示 "8",即執(zhí)行循環(huán)的次數(shù)??赡軋?zhí)行的循環(huán)總數(shù)為 9,不過當(dāng) i 的值為 5 時(shí),將執(zhí)行 continue 語句,會(huì)使循環(huán)跳過表達(dá)式 iNum++,返回循環(huán)開頭。
break 語句和 continue 語句都可以與有標(biāo)簽的語句聯(lián)合使用,返回代碼中的特定位置。
通常,當(dāng)循環(huán)內(nèi)部還有循環(huán)時(shí),會(huì)這樣做,例如:
var iNum = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (i == 5 && j == 5) { break outermost; } iNum++; } } alert(iNum); //輸出 "55"
在上面的例子中,標(biāo)簽 outermost 表示的是第一個(gè) for 語句。正常情況下,每個(gè) for 語句執(zhí)行 10 次代碼塊,這意味著 iNum++ 正常情況下將被執(zhí)行 100 次,在執(zhí)行完成時(shí),iNum 應(yīng)該等于 100。這里的 break 語句有一個(gè)參數(shù),即停止循環(huán)后要跳轉(zhuǎn)到的語句的標(biāo)簽。這樣 break 語句不止能跳出內(nèi)部 for 語句(即使用變量 j 的語句),還能跳出外部 for 語句(即使用變量 i 的語句)。因此,iNum 最后的值是 55,因?yàn)楫?dāng) i 和 j 的值都等于 5 時(shí),循環(huán)將終止。
可以以相同的方式使用 continue 語句:
var iNum = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (i == 5 && j == 5) { continue outermost;
} iNum++; } } alert(iNum); //輸出 "95"
在上例中,continue 語句會(huì)迫使循環(huán)繼續(xù),不止是內(nèi)部循環(huán),外部循環(huán)也如此。當(dāng) j 等于 5 時(shí)出現(xiàn)這種情況,意味著內(nèi)部循環(huán)將減少 5 次迭代,致使 iNum 的值為 95。
提示:可以看出,與 break 和 continue 聯(lián)合使用的有標(biāo)簽語句非常強(qiáng)大,不過過度使用它們會(huì)給調(diào)試代碼帶來麻煩。要確保使用的標(biāo)簽具有說明性,同時(shí)不要嵌套太多層循環(huán)。
提示:想了解什么是有標(biāo)簽語句,請(qǐng)閱讀 ECMAScript 標(biāo)簽語句 這一節(jié)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: