對比JavaScript中的Continue和Break

來源:互聯網
上載者:User

標籤:嵌套迴圈   open   state   https   應該   lan   javascrip   即時   遇到   

譯者按: 最好是不用,不過基礎知識要掌握。

  • 原文: JavaScript: Continue vs Break - Learn the difference between the continue and break statements.
  • 譯者: Fundebug

為了保證可讀性,本文採用意譯而非直譯。另外,本文著作權歸原作者所有,翻譯僅用於學習。


在這篇文章中,我們會詳細介紹continuebreak,分析它們的相同和不同之處,甚至用一些可啟動並執行執行個體。

continuebreak都是用於控制迴圈的。我們先來看一下他們的定義:

  • Continue: 結束當前的執行,並繼續下一個迴圈。
  • Break: 終止整個迴圈的執行。

注意:break還可以用在switch中,本文主要介紹在迴圈中的使用。

Continue

考慮如下代碼:

for (let i = 1; i <= 10; i++){
console.log(i);
}

我們有一個簡單的for迴圈,該迴圈會執行10次,i的值從1一直遞增到10。每一次迴圈將當前i的值列印出來。執行結果如下:

1
2
3
4
5
6
7
8
9
10

如果我們只想列印偶數,應該如何做呢?使用continue可以很容易搞定。在每一次迴圈我們檢查是否為奇數,如果是,則跳出此次迴圈,繼續下一次。如果不是,則列印i的值。

for (let i = 1; i <= 10; i++){
if (i % 2 == 1) continue;
console.log(i);
}

執行結果如下:

2
4
6
8
10

 

記住,當使用continue關鍵字的時候,該次迴圈立即結束執行,continue往後的代碼不再被執行。

Break

我們使用相同的迴圈來做例子:

for (let i = 1; i <= 10; i++){
console.log(i);
}

如果我們想在i的值為6的時候,終止整個迴圈。那麼我們可以使用break

for (let i = 1; i <= 10; i++){
if (i == 6) break;
console.log(i);
}

 

如果執行上面的代碼,for迴圈會在i為6的時候終止執行,因此6也不會被列印到控制台。

1
2
3
4
5

JavaScript太靈(gui)活(yi)了,出了BUG你也不知道,不妨接入Fundebug線上即時監控

嵌套For迴圈

值得注意的是,breakcontinue都只對當前迴圈有效。如果我們有嵌套迴圈,那麼就要很小心了。不妨來看下面的例子:

for (let i = 0; i < 5; i++) {
if (i % 2 == 0) continue;
for (let j = 0; j < 5; j++) {
if (j == 2) break;
console.log(`i = ${i}, j = ${j}`);
}
}

這裡我們有兩個迴圈,每一個都會執行5次(0~4)。外層的迴圈在i是偶數的時候,跳過當前迴圈執行下一個。也就是說只有i為1或則3的時候,才會執行內層的迴圈。

內層的迴圈只要j的值為2,就終止了。因此,j只有0和1。

最終結果如下:

i = 1, j = 0
i = 1, j = 1
i = 3, j = 0
i = 3, j = 1
評論精選
  • [Nicu Micleu?anu]:最好的策略是break和continue都不要用。如果你用了,證明你哪裡搞錯了,嘗試換個方法。

  • [Brandon Morelli]: 我同意用函數式的方法更好,來避免使用for迴圈。不過呢,理解continuebreak的異同點還是很重要的,萬一哪天遇到了呢。


 

 

著作權聲明:轉載時請註明作者Fundebug以及本文地址:https://blog.fundebug.com/2018/03/05/javascript-continue-vs-break/

對比JavaScript中的Continue和Break

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.