在javascript中,while是一種當(dāng)型循環(huán)語句,需要先對循環(huán)條件進(jìn)行判斷,當(dāng)條件滿足,則執(zhí)行循環(huán)體,如果不滿足時(shí)則跳出循環(huán)。while語句的特點(diǎn):先判斷表達(dá)式,當(dāng)表達(dá)式結(jié)果為真時(shí)執(zhí)行相應(yīng)的語句。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
while循環(huán)語句是一種當(dāng)型
循環(huán)語句,先對循環(huán)條件進(jìn)行判斷,當(dāng)條件滿足,則執(zhí)行循環(huán)體,不滿足時(shí)則停止。
作用:反復(fù)執(zhí)行某一項(xiàng)操作,直到指定的條件不成立。
特點(diǎn):先判斷表達(dá)式,當(dāng)表達(dá)式結(jié)果為真時(shí)執(zhí)行相應(yīng)的語句。
while循環(huán)的一般形式為:
while(表達(dá)式){ //表達(dá)式為循環(huán)條件 語句塊; //要執(zhí)行的代碼塊 }
語句解析:
-
先計(jì)算“表達(dá)式”的值,當(dāng)值為真時(shí), 執(zhí)行循環(huán)體內(nèi)的“語句塊”;
說明:“表達(dá)式”的計(jì)算結(jié)果是布爾類型( TRUE 或 FALSE)的,如果是其他類型的值也會自動轉(zhuǎn)換為布爾類型的值(因?yàn)镻HP是弱語言類型,會根據(jù)變量的值,自動把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型)。
“語句塊”就是由{ }包圍的一個(gè)或多個(gè)語句的集合;如果語句塊中只有一個(gè)語句,也可以省略{ }。
-
執(zhí)行結(jié)束后,返回到表達(dá)式,再次計(jì)算表達(dá)式的值進(jìn)行判斷,當(dāng)表達(dá)式值為真,則繼續(xù)執(zhí)行“語句塊”……這個(gè)過程會一直重復(fù)
-
直到表達(dá)式的值為假時(shí)才跳出循環(huán),執(zhí)行while 下面的語句。
while 循環(huán)的執(zhí)行流程如下圖所示:
示例:使用 while 循環(huán)計(jì)算 1~100 之間所有整數(shù)的和:
var i=1; var sum=0; while (i <= 100){ sum += i; i++; } document.write("1 + 2 + 3 + ... + 98 + 99 + 100 = " + sum)
注意:
-
在編寫循環(huán)語句時(shí),一定要確保條件表達(dá)式的結(jié)果能夠?yàn)榧伲床紶栔?false),因?yàn)橹灰磉_(dá)式的結(jié)果為 true,循環(huán)會一直持續(xù)下去,不會自動停止,對于這種無法自動停止的循環(huán),我們通常將其稱為“無限循環(huán)”或“死循環(huán)”。
-
如果不小心造成無限循環(huán),可能會導(dǎo)致瀏覽器或者計(jì)算機(jī)卡死。
【推薦學(xué)習(xí):javascript高級教程】