摘要:和都是用于控制循環的。終止整個循環的執行。注意還可以用在中,本文主要介紹在循環中的使用。嵌套循環值得注意的是,和都只對當前循環有效。也就是說只有為或則的時候,才會執行內層的循環。我同意用函數式的方法更好,來避免使用循環。
譯者按: 最好是不用,不過基礎知識要掌握。
原文: JavaScript: Continue vs Break - Learn the difference between the continue and break statements.
譯者: Fundebug
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用于學習。
在這篇文章中,我們會詳細介紹continue和break,分析它們的相同和不同之處,甚至用一些可運行的實例。
continue和break都是用于控制循環的。我們先來看一下他們的定義:
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循環值得注意的是,break和continue都只對當前循環有效。如果我們有嵌套循環,那么就要很小心了。不妨來看下面的例子:
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循環。不過呢,理解continue和break的異同點還是很重要的,萬一哪天遇到了呢。
版權聲明:
轉載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2018/03/05/javascript-continue-vs-break/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93642.html
摘要:語句概況描述在代碼中,使用分號分隔的可以叫做是語句語句塊在代碼中,大括號表示語句塊語句塊中可以存在一條或多條語句語句的分類條件語句循環語句跳轉語句條件語句描述通過對條件表達式的計算結果進行判斷,來決定要執行的語句語句語法條件表達式語句塊當 語句概況 描述 在JavaScript代碼中,使用分號(;)分隔的可以叫做是語句 語句塊 在JavaScript代碼中,大括號({})表示語句塊 ...
摘要:因為阻止了默認行為的幾個常見用法取消默認行為參照上例鏈式編程閉包之后章節詳細講解和語句和語句用于在循環中精確地控制代碼的執行。其中,語句會立即退出循環,強制繼續執行循環后面的語句。只能結束循環中的一次過程但不能終止循環繼續進行。 return 語句 return語句的幾個特點:(1)return語句應用范圍只能出現在函數體內,出現在代碼中的其他任何地方都會造成語法錯誤(2)return...
摘要:如果每個循環正常執行次,則語句就會正常執行次。但內部循環中的語句帶了一個參數要返回到的標簽。 最近在閱讀《JavaScript高級程序設計第3版》的過程中,看到了label語句的使用,因為之前沒使用過,覺得有必要學習一下,特此記錄。 label語句是ECMA中定義的語句,因此不存在兼容性的問題,使用label語句是為了給代碼添加標簽,方便將來使用,語法如下: label: statem...
摘要:二知識點最近在完成一個小作業,題目要求通過代碼實現,讓用戶輸入用戶名密碼,認證成功后顯示歡迎信息,輸錯三次后退出程序。 一、背景 人工智能這幾年一直都比較火,筆者一直想去學習一番;因為一直是從事PHP開發工作,對于Python接觸并不算多,總是在關鍵時候面臨著基礎不牢,地動山搖的尷尬,比如在遇到稍微深入些的問題時候就容易卡殼,于是準備從Python入門從頭學起; 筆者覺得應該有不少人同...
摘要:最近在清理的未讀列表,看到了才知道了的,一種自動插入分號的機制。這種行為被叫做自動插入分號,簡稱。不過在省略分號的風格中,這種解析特性會導致一些意外情況。規則標準定義的包括三條規則和兩條例外。規則一情況三就是為量身定做的。 TL;DR 最近在清理 Pocket 的未讀列表,看到了 An Open Letter to JavaScript Leaders Regarding Semico...
閱讀 765·2019-08-29 16:32
閱讀 836·2019-08-29 12:31
閱讀 3208·2019-08-26 18:26
閱讀 3152·2019-08-26 12:20
閱讀 1728·2019-08-26 12:00
閱讀 3006·2019-08-26 10:58
閱讀 2811·2019-08-23 17:08
閱讀 2309·2019-08-23 16:32