一、for循環:
for循環是最廣泛的循環形式,適用於已知循環次數,循環嵌套情況。
1 for( var i = 2; i <= 100 ; i += 2 ){ 2 console.log(`${i}是偶數`); 3 } 4 for( 定義循環變量的初始值 ; 判斷進入條件 ; 步長 ){ 5 循環體 6 }
for循環的優點之一,是將與循環變量和循環次數相關的設定,都定義在()中,設定內容更加集中,不容易造成語法形式混亂;執行順序:定義循環變量的初始值,判斷進入條件,循環體,步長,仍然是先執行循環體,再執行步長
例:計算 1-100的所有整數的和
1 var res = 0; 2 for(var i = 1 ; i <= 100 ; i++){ 3 console.log(i); 4 res += i; 5 }
例:判斷一個數是質數還是合數
1 //生成一個隨機數 2 var num = parseInt(Math.random()*(200+1-100) + 100); 3 // 定義一個變量,來存儲判斷的結果 4 var res = true; 5 // 循環,生成的整數是2至判斷數值減1的所有整數 6 for(var i = 2 ; i <= num-1 ; i++){ 7 // 執行判斷 8 // 如果 數值與循環變量發生整除,證明數值此時就是合數 9 if( num % i == 0){ 10 // 給存儲判斷結果的變量,賦值新的數據,覆蓋之前的默認值 11 res = false; 12 // 一旦發生整除,其他循環就可以終止了 13 break; 14 } 15 // 當循環結束了,判斷 res變量中存儲的是不是默認值 16 if(res == true){ 17 // 如果是默認值,證明是質數 18 console.log(`${num}是質數`); 19 }else{ 20 // 如果不是默認值,證明是合數 21 console.log(`${num}是合數`); 22 }
二、break和continue:
1 , break終止循環
條件不滿足是,終止當前循環,以及終止之后的一切循環
1 for(var i = 1 ; i <= 10 ; i++){ 2 if( i == 5){ 3 continue; 4 } 5 console.log(i); 6 }
2 , continue 跳出循環
1 // 輸出 1 - 100 的 偶數 2 3 for(var i = 1 ; i <= 100 ; i++){ 4 // 需要輸出偶數,也就是如果是奇數,就跳出循環不輸出 5 if( i % 2 != 0 ){ 6 continue; 7 } 8 console.log(i); 9 } 10 //程序會跳過繼續符合條件的繼續執行下一步操作
終止當前循環continue關鍵詞之后,程序的執行,但是會繼續之后的循環,只終止當前循環的循環體的執行,循環
三、循環的嵌套:就是 for(){} 的循環體,也包含 for循環
1 for (var j = 1; j <= 5; j++) { 2 for (var i = 1; i <= 5; i++) { 3 console.log(`i是${i} , j是${j}`); 4 } 5 console.log('') 6 }//其中for包含的for就是嵌套部分
執行順序:先執行外層,然后執行內層;再循環外層,再內層....
經典案例:九九乘法表
1 <script> 2 //主循環 3 for (var j = 1; j <= 9; j++) { 4 //每一步循環 5 for (var i = 1; i <= j; i++) { 6 //輸出結果 7 document.write(`${i}*${j}=${i * j} `); 8 } 9 document.write('<br>'); 10 </script>