條件語(yǔ)句的代碼可以被想象成是一條條分支的路徑胁镐,而循環(huán)語(yǔ)句的代碼則是程序路徑的一個(gè)回路诸衔,可以讓一部分代碼重復(fù)執(zhí)行颇玷。JavaScript中的循環(huán)語(yǔ)句有for語(yǔ)句和while語(yǔ)句。
一谒亦、for語(yǔ)句
for語(yǔ)句的語(yǔ)法如下:
1for(初始值;布爾值;計(jì)數(shù)器){2//語(yǔ)句塊3}
在for語(yǔ)句中空郊,如果布爾值是true,就會(huì)一直執(zhí)行語(yǔ)句塊中的內(nèi)容,為了防止死循環(huán)锁摔,需要有一個(gè)計(jì)數(shù)器哼审,當(dāng)數(shù)值達(dá)到指定值,布爾值就會(huì)變成false涩盾,循環(huán)便停止了,下面的示例代碼使用for循環(huán)輸出0~9九個(gè)數(shù)字
示例代碼如下:
1for(vari = 0;i<10;i++){? 2// i的初始值是03// 判斷i是否小于10桦踊,如果小于10則執(zhí)行花括號(hào)中的代碼4// 每次執(zhí)行完花括號(hào)中的代碼后终畅,i的值加15? ? console.log(i);6}
通過(guò)上面的例子我們進(jìn)一步理解了for語(yǔ)句的用法,下面我們來(lái)做一個(gè)聯(lián)系离福,利用for循環(huán)語(yǔ)句輸出100以內(nèi)所有正整數(shù)的加和
示例代碼如下:
1varsum = 0;//sum用來(lái)存儲(chǔ)循環(huán)過(guò)程中正整數(shù)的加和2for(vari = 1;i<=100;i++){3sum += i;4}5console.log(sum);//這時(shí)候輸出的就應(yīng)該是5050
二妖爷、while語(yǔ)句
while語(yǔ)句語(yǔ)法如下所示:
1while(bool){2//bool為true,循環(huán)執(zhí)行3}
當(dāng)bool為true的時(shí)候,花括號(hào)中的內(nèi)容會(huì)循環(huán)執(zhí)行絮识。為了防止死循環(huán),需要在循環(huán)的過(guò)程實(shí)現(xiàn)類似for計(jì)數(shù)器的功能熄攘,讓循環(huán)在有限的次數(shù)內(nèi)定制彼念,下面我們使用while語(yǔ)句輸出0~9是個(gè)數(shù)字
示例代碼如下:
1varn = 0;2while(n<10){3? ? console.log(n);4n++;5}
在每次循環(huán)的過(guò)程中都會(huì)讓n的值加1浅萧,這樣當(dāng)n的值等于10哲思,循環(huán)便停止,下面我來(lái)使用while語(yǔ)句輸出100以內(nèi)所有正整數(shù)的加和
示例代碼如下:
1varn = 0;2varsum = 0;3while(n<=100){4sum += n;5n++;6}7console.log(sum);
三帝簇、continue
continue可以結(jié)束本次循環(huán)忆嗜,直接進(jìn)入到下一次循環(huán)崎岂,例如我們用for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)輸出0 ~ 5,7 ~ 9九個(gè)數(shù)字(跳過(guò)6)
示例代碼如下:
1for(vari = 0;i<10;i++){2if(i===6){3continue;4? ? }5? ? console.log(i);6}
上面的代碼通過(guò)判斷,實(shí)現(xiàn)當(dāng)i的值為6的時(shí)候绩卤,跳過(guò)本次循環(huán)江醇,直接接入下一次循環(huán)。下面我們使用continue來(lái)實(shí)現(xiàn)計(jì)算100以內(nèi)所有不能被7整除的正整數(shù)加和
示例代碼如下:
1varsum = 0;2for(vari = 0;i<=100;i++){3if(i%7===0){4continue;5? ? }6sum += i;7}8console.log(sum);
四陶夜、break
在學(xué)switch語(yǔ)句中,我們已經(jīng)接觸到了break黔夭,它可以讓分支語(yǔ)句在結(jié)束一個(gè)case之后羽嫡,跳出switch語(yǔ)句,break同樣可以用在循環(huán)語(yǔ)句當(dāng)中杭棵,當(dāng)代碼執(zhí)行到break時(shí),直接結(jié)束循環(huán)
示例代碼如下:
1for(vari = 0;i<10;i++){2if(i===6){3break;? 4? ? }5? ? console.log(i);6}
如上面的代碼所示先舷,當(dāng)控制帶輸出5之后滓侍,循環(huán)結(jié)束。
五粗井、課后練習(xí)
分別用for和while語(yǔ)句在控制臺(tái)輸出100以內(nèi)(包括100)所有正整數(shù)的加和。
分別用for和while語(yǔ)句在控制臺(tái)輸出100以內(nèi)(包括100)所有偶數(shù)的加和懒构。