JavaScript 中的 for 語句是常用的循環(huán)語句之一,它可以讓我們輕松地重復(fù)執(zhí)行相同的代碼塊。但是在執(zhí)行 for 循環(huán)時(shí),我們可能需要在某些條件下提前結(jié)束循環(huán),這時(shí)我們可以使用 break 或者 continue 語句來實(shí)現(xiàn)這一功能。
舉一個(gè)簡單的例子,假設(shè)我們要遍歷一個(gè)數(shù)組 arr,如果數(shù)組中出現(xiàn) -1 的元素,我們就需要停止繼續(xù)遍歷,可以使用以下代碼:
for (var i = 0; i < arr.length; i++) { if (arr[i] === -1) { break; } console.log(arr[i]); }
在這段代碼中,我們使用了 break 語句,當(dāng)數(shù)組中出現(xiàn) -1 時(shí),循環(huán)就會(huì)提前結(jié)束,不會(huì)執(zhí)行后續(xù)的循環(huán)體。
除了使用 break 來結(jié)束循環(huán),我們還可以使用 continue 語句來跳過循環(huán)的某一次迭代。例如,假設(shè)我們要輸出 0-9 中所有偶數(shù),可以使用以下代碼:
for (var i = 0; i < 10; i++) { if (i % 2 !== 0) { continue; } console.log(i); }
在這個(gè)例子中,我們使用了 continue 語句,當(dāng) i 不是偶數(shù)時(shí),循環(huán)就會(huì)跳過這一次迭代,不會(huì)輸出該數(shù)字。
在實(shí)際應(yīng)用中,我們可能需要在多重循環(huán)中使用 break 或者 continue 語句。例如,假設(shè)我們要輸出 0-9 中所有同時(shí)為偶數(shù)和素?cái)?shù)的數(shù)字,可以使用以下代碼:
for (var i = 0; i < 10; i++) { if (i % 2 === 0) { for (var j = 2; j < i; j++) { if (i % j === 0) { continue; } } console.log(i); } }
在這個(gè)例子中,我們使用了兩層循環(huán)。當(dāng) i 為偶數(shù)時(shí),進(jìn)入內(nèi)層循環(huán),當(dāng)內(nèi)層循環(huán)中出現(xiàn) i 能夠被 j 整除的情況時(shí),使用 continue 跳過該次循環(huán)。如果內(nèi)層循環(huán)結(jié)束后,仍然沒有出現(xiàn) i 能夠被整除的情況,說明 i 是素?cái)?shù),輸出該數(shù)字。
總的來說,break 和 continue 語句都可以用來提前結(jié)束循環(huán)。因此,在使用 for 循環(huán)時(shí),需要結(jié)合實(shí)際場景來選擇合適的語句,以便進(jìn)行更加靈活的迭代操作。