一、while循環
while語法:
while (條件){
代碼(循環體)
};
註:(1)、只有當條件為true時,才能執行循環體。如果條件為false,循環有可能永遠不被執行。
(2)、先執行條件,再執行循環體。
(3)、循環一次稱之為一次迭代,循環幾次稱之為幾次迭代。
上面的例子中,當年i循環到5時,不滿足條件,循環結束;
二、do…while循環
do ...while語法:
do{
//循環代碼
}while(條件);
註:(1)、始終是先執行循環體,在檢查條件是否滿足。
(2)、無論條件是true還是false,始終會執行一遍循環體。
(3)、由於其是一種後測試循環條件的語句,每次只有在循環體執行之後,才會測試條件,這樣會增加代碼的執行量。我們在實際的編程中不使用。了解即可。
三、 for循環
for循環要比前面的while循環更加複雜一點,但是卻是我們經常使用的一種循環語句。
for循環語法:
for(定義變量;條件;循環條件){
//循環體(代碼)
};
說明:(1)、在for循環內的聲明叫內聯聲明,只在for循環內部起作用,循環外不可見。
(2)、我們也可以使用循環外聲明的變量,可以再在for循環中再定義一次變量,也可以省略不寫。
(3)、最後的i++即循環條件也可以省略不寫。
四、for in循環
for in循環語句是一種非常精準的循環語句,可以用來枚舉(可以理解為列舉)對象的屬性。
語法如下:
for(property in expression){
循環語句
};
上例中i是一個數組,後面會有專題講解。
五、label語句
label語句可以在代碼中添加標籤,以便我們以後使用。
寫法:label名:語句;
js高級程序設計的解釋:「我們加了標籤的語句一般情況下要與for循環等循環語句一起使用。我們定義的label標籤可以在將來由break或者continue語句來引用。」其實可以這樣理解,我們添加的label標籤其實就是一個錨點,當我們在break或continue語句中引用時,當循環跳出以後,下次執行時從我們標記的錨點開始執行代碼。
六、break與continue語句
有時候我們會遇到這樣一種情況,我們使用了多個for循環的嵌套,但是我們只想測試第一個for循環,不需要測試其它的語句,你可能會使用注釋的方法,但是js提供了一種簡單的方法,使用break語句或者continue語句;
1、break語句:
break會立即退出循環,強制繼續執行循環後面的語句。
for循環的變量i由1遞增到10,在上述的循環體內,i的值為5的時候,滿足條件,執行了break語句,跳出了此次的循環。
2、continue
continue語句雖然也是立即退出循環,但是退出之後會從循環的頂部開始繼續執行,
我們依然使用上面的例子:
上面的num值為8,i值為10,在第一次循環時,i的值為5時,滿足條件,循環在num遞增的時候退出了,但是緊接著又執行了下一次循環,即i的值為6的一次循環,當執行到i=10的時候循環停止,但是兩次循環的跳出使得num的遞增少了兩次,所以值為8。