只要指定條件為真,循環(huán)就可以執(zhí)行代碼塊。
while只要指定條件的值為真,循環(huán)就會執(zhí)行指定語句。
while循環(huán)的語法如下:
while (condition) { // 只要條件為真,就執(zhí)行代碼}
var n = 0; while (n < 5) { document.write("<br>這個數(shù)字是 " + n); n++; }測試看看?/?
注意:如果要使用帶有條件的變量,請在循環(huán)之前對其進行初始化,然后在循環(huán)內(nèi)對其進行遞增。如果忘記增加變量,循環(huán)將永遠不會結(jié)束。這將使您的瀏覽器崩潰。
一個無限循環(huán),顧名思義,是一個循環(huán),將永遠保持運行。如果您不小心造成無限循環(huán),可能會導致瀏覽器或計算機崩潰。重要的是要意識到無限循環(huán),以便您可以避免它們。
當while語句的條件設(shè)置為true時,會發(fā)生一個常見的無限循環(huán)。
while (true) { // 永遠執(zhí)行代碼 }
無限循環(huán)將永遠運行,但是可以使用break關(guān)鍵字終止程序。
該do...while循環(huán)是while循環(huán)的變體。在檢查條件是否為真之前,此循環(huán)將執(zhí)行一次代碼塊,然后只要條件為真,它將重復該循環(huán)。
該do...while循環(huán)的語法如下:
do { // 要執(zhí)行的語句 } while (condition);
do { document.write("<br>數(shù)字是 " + n); n++; } while (n < 5);測試看看?/?
不要忘記增加條件中使用的變量,否則循環(huán)將永遠不會結(jié)束。
注意:即使條件為false,這個循環(huán)也總是至少執(zhí)行一次,因為代碼塊是在條件測試之前執(zhí)行的:
var n = 5; do { document.write("<br>數(shù)字是 " + n); n++; } while (n < 3); // false測試看看?/?
while循環(huán)不同于do…while循環(huán)以一種重要的方式使用while循環(huán),在每次循環(huán)迭代開始時測試要計算的條件,因此如果條件表達式的計算結(jié)果為false,則將永遠不會執(zhí)行循環(huán)。
另一方面,使用do ... while循環(huán),即使條件表達式的計算結(jié)果為false,該循環(huán)也將始終執(zhí)行一次,因為與while循環(huán)不同,條件是在循環(huán)迭代的末尾而不是在開始時計算的。
如果您已經(jīng)閱讀了上一章關(guān)于for循環(huán)的內(nèi)容,您將發(fā)現(xiàn)while循環(huán)與for循環(huán)非常相似,只是省略了初始化和最終表達式。
此示例中的for循環(huán)使用循環(huán)從fruits數(shù)組中獲取水果名稱:
var fruits = ['Apple', 'Mango', 'Banana', 'Orange']; var txt = ''; for (var i = 0; i < fruits.length; i++) { txt += fruits[i] + '<br>'; }測試看看?/?
此示例中的while循環(huán)使用循環(huán)從fruits數(shù)組中獲取水果名稱:
var fruits = ['Apple', 'Mango', 'Banana', 'Orange']; var txt = ''; var i = 0; while (i < fruits.length) { txt += fruits[i] + '<br>'; i++; }測試看看?/?