break語句和continue語句都具有跳轉作用,可以讓代碼不按既有的順序執行。
break語句用于跳出循環。
var i = 0; while (i < 100) { console.log(i); i++; if (i === 10) break; } // 控制臺
上面代碼只會執行10次循環,一旦i
等于10,就會跳出循環。
for
循環也可以使用break
語句跳出循環。
for (var i = 0; i < 5; i++) { console.log(i); if (i === 3) break; } // 0 // 1 // 2 // 3
上面代碼執行到i
等于3,就會跳出循環。
continue
語句用于立即終止本輪循環,返回循環結構的頭部,開始下一輪循環。
var i = 0; while (i < 10){ i++; if (i % 2 === 0) continue; console.log('i 當前為:' + i); } // 控制臺
上面代碼只有在i
為奇數時,才會輸出i
的值。如果i
為偶數,則直接進入下一輪循環。
JavaScript 語言允許,語句的前面有標簽(label),相當于定位符,用于跳轉到程序的任意位置,標簽的格式如下。
語法:
label:statement
標簽可以是任意的標識符,但不能是保留字,語句部分可以是任意語句。
標簽通常與break
語句和continue
語句配合使用,跳出特定的循環。
top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) break top; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0
上面代碼為一個雙重循環區塊,break
命令后面加上了top
標簽(注意,top
不用加引號),滿足條件時,直接跳出雙層循環。
continue
語句也可以與標簽配合使用。
top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) continue top; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0 // i=2, j=0 // i=2, j=1 // i=2, j=2
上面代碼中,continue
命令后面有一個標簽名,滿足條件時,會跳過當前循環,直接進入下一輪外層循環。
請注意:如果存在多重循環,不帶參數的break
語句和continue
語句都只針對最內層循環。
如果break語句后面不使用標簽,則會跳出當前內層循環進入外層循環的下一輪。
for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) break; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0 // i=2, j=0 // i=2, j=1 // i=2, j=2
如果continue
語句后面不使用標簽,則只能進入下一輪的內層循環。
for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) continue; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0 // i=1, j=2 // i=2, j=0 // i=2, j=1 // i=2, j=2
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com