在先前的文章《JS循環學習:while循環語句的使用(示例詳解)》中,我們簡單了解了while 循環和do while 循環,而今天再來介紹一種循環—— for 迴圈語句,希望對大家有幫助!
一:for 迴圈
for迴圈會將控制迴圈次數的變數預先定義在for語句中,因此for迴圈語句能夠依照已知的循環次數進行循環操作,適用於明確知道腳本需要執行的次數的情況。
for 迴圈的語法格式如下:
for (初始化语句; 循环条件; 变量更新--自增或自减) { 语句块; }
for迴圈語句可以拆解為4個部分:()
號中的三個表達式和{}
中的“語句塊”,下面我們來分析一下。
語句解析:
初始化語句(表達式1):主要是初始化一個變數值,用來設定一個計數器,也就是迴圈開始的值;該語句僅在第一次迴圈時執行,以後都不會再執行。
循環條件(表達式2):循環執行的限制條件,用於控制是否執行循環體中的程式碼;如果條件為TRUE,則循環繼續,如果條件為FALSE ,則循環結束,立即退出循環。
變數更新(表達式3):一個帶有自增或自減操作的表達式,循環每執行一次,馬上修改計數器的值,以使循環條件逐漸變得「不成立」。
語句區塊:條件判斷為真時,需要執行的若干程式碼。
上面的描述是不是有點繞,我們來看看for迴圈語句的執行流程圖,可以更直覺的了解for迴圈的執行過程:
了解了for迴圈的執行過程,接下來我們來實際操作,做一個小題,來看看有沒有掌握吧!
範例:計算從1加到100的和
<script type="text/javascript"> var sum=0; for(var i=1; i<=100; i++){ sum+=i; } console.log('1 + 2 + 3 +...+ 99 + 100 = '+sum); </script>
#for 迴圈中的三個表達式
JS for 迴圈中括號中的三個表達式是可以省略的,但是用來分隔三個表達式的分號不能省略,如下例所示:
// 省略第一个表达式 var i = 0; for (; i < 5; i++) { // 要执行的代码 } // 省略第二个表达式 for (var y = 0; ; y++) { if(y > 5){ break; } // 要执行的代码 } // 省略第一个和第三个表达式 var j = 0; for (; j < 5;) { // 要执行的代码 j++; } // 省略所有表达式 var z = 0; for (;;) { if(z > 5){ break; } // 要执行的代码 z++; }
#二:for 循環嵌套
無論是哪一個循環,都可以嵌套使用(即在一個循環中再定義一個或多個循環)。
語法格式:
for (初始化语句1; 循环条件; 变量更新--自增或自减) { //语句块1; for (初始化语句2; 循环条件; 变量更新--自增或自减) { //语句块2; for (初始化语句3; 循环条件; 变量更新--自增或自减) { //语句块3; ..... } } }
這裡,我們定義了三個for 迴圈的嵌套,當然,我們可以嵌套任意多個的for 迴圈。
案例:for迴圈實作九九乘法口訣表
#首先我們來觀察一下九九乘法口訣表
可以得到圖表的法則:
總共有9行9列,第幾行就有幾個表達式。
第 i 行,表達式就從 i*1 開始,一直到 i*i 結束,並共有 i 個表達式(這個效果我們可以透過一次循環來實現)。
因此,需要使用雙重循環來控制輸出,外層循環控制行數i (i最小為1,最大為9),內層循環控制列j (j最小為1,最大等於i)。
實作程式碼:
for(var i = 1; i <= 9; i++){ //外层循环控制行 for(var j = 1; j <= i; j++) //内层循环控制列 { document.write(j+"*"+i+"="+j*i+" "); } document.write("</br>"); }
輸出結果:
#我們也可以向開頭圖那樣,將99乘法表放到一個表格裡輸出:
document.write("<table>"); for (var i = 1; i <= 9; i++) { //外层循环控制行 document.write("<tr>"); for (var j = 1; j <= i; j++) //内层循环控制列 { document.write("<td>" + j + "*" + i + "=" + j * i + "</td>"); } //换行,控制每行的输出几个表达式 document.write("</tr>"); } document.write("</table>");
然後加入css樣式,來修飾一下:
table { width: 600px; border-collapse: separate; } table td { border: #000 1px solid; text-align: center; }
看看輸出結果:
以上是JS迴圈學習:for迴圈語句的使用(範例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!