
一: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;
}看看輸出結果:

【推薦學習:javascript高級教學】
以上就是JS循環學習:for循環語句的使用(示例詳解)的詳細內容,更多請關注php中文網其它相關文章!