JavaScript流程控制(循環(huán))
一、for 循環(huán)
在程序中,一組被重復執(zhí)行的語句被稱之為循環(huán)體,能否繼續(xù)重復執(zhí)行,取決于循環(huán)的終止條件。由循環(huán)體及循環(huán)的終止條件組成的語句,被稱之為循環(huán)語句。for 循環(huán)主要用于把某些代碼循環(huán)若干次,通常跟計數有關系。
其語法結構如下:
for(初始化變量; 條件表達式; 操作表達式 ){
//循環(huán)體
}
- 初始化變量:通常被用于初始化一個計數器,該表達式可以使用
var關鍵字聲明新的變量,這個變量幫我們來記錄次數。 - 條件表達式:用于確定每一次循環(huán)是否能被執(zhí)行。如果結果是
true就繼續(xù)循環(huán),否則退出循環(huán)。 - 操作表達式:每次循環(huán)的最后都要執(zhí)行的表達式。通常被用于更新或者遞增計數器變量。當然,遞減變量也是可以的。
例如用for循環(huán)執(zhí)行相同的代碼:輸出十次‘我愛學前端’。
for(i=0;i<10;i++){
console.log('我愛學前端');
}
輸出結果為:

再例如用for循環(huán)執(zhí)行不同的代碼:求輸出一個人1到20歲。
for (var i = 1; i <= 20; i++) {
console.log('這個人今年' + i + '歲了');
}
輸出結果為:

二、雙重 for 循環(huán)
循環(huán)嵌套是指在一個循環(huán)語句中再定義一個循環(huán)語句的語法結構,例如在for循環(huán)語句中,可以再嵌套一個for 循環(huán),這樣的 for 循環(huán)語句我們稱之為雙重for循環(huán)。
語法結構:
for (外循環(huán)的初始; 外循環(huán)的條件; 外循環(huán)的操作表達式) {
for (內循環(huán)的初始; 內循環(huán)的條件; 內循環(huán)的操作表達式) {
需執(zhí)行的代碼;
}
}
- 內層循環(huán)可以看做外層循環(huán)的語句
- 內層循環(huán)執(zhí)行的順序也要遵循
for循環(huán)的執(zhí)行順序 - 外層循環(huán)執(zhí)行一次,內層循環(huán)要執(zhí)行全部次數
例如打印五行五列星星。
核心:
- (1)內層循環(huán)負責一行打印五個星星
- (2)外層循環(huán)負責打印五行
var star = '';
for (var j = 1; j <= 3; j++) {
for (var i = 1; i <= 3; i++) {
star += '☆'
}
// 每次滿 5個星星 就 加一次換行
star += '\n'
}
console.log(star);
運行結果為:

三、while 循環(huán)
while 語句可以在條件表達式為真的前提下,循環(huán)執(zhí)行指定的一段代碼,直到表達式不為真時結束循環(huán)。
while語句的語法結構如下:
while (條件表達式) {
// 循環(huán)體代碼
}
執(zhí)行思路:
- (1)先執(zhí)行條件表達式,如果結果為
true,則執(zhí)行循環(huán)體代碼;如果為false,則退出循環(huán),執(zhí)行后面代碼 - (2)執(zhí)行循環(huán)體代碼
- (3)循環(huán)體代碼執(zhí)行完畢后,程序會繼續(xù)判斷執(zhí)行條件表達式,如條件仍為
true,則會繼續(xù)執(zhí)行循環(huán)體,直到循環(huán)條件為false時,整個循環(huán)過程才會結束
需要注意的是:
使用 while 循環(huán)時一定要注意,它必須要有退出條件,否則會成為死循環(huán)while 循環(huán)和 for 循環(huán)的不同之處在于 while 循環(huán)可以做較為復雜的條件判斷,比如判斷用戶名和密碼
例如通過while循環(huán)計算 1 ~ 100 之間所有整數的和。
var sum = 0;
var i = 0;
while(i<=100){
sum += i;
i++;
}
console.log(sum);
輸出的結果為:

四、do while 循環(huán)
do… while 語句其實是 while 語句的一個變體。該循環(huán)會先執(zhí)行一次代碼塊,然后對條件表達式進行判斷,如果條件為真,就會重復執(zhí)行循環(huán)體,否則退出循環(huán)。
do… while 語句的語法結構如下:
do {
// 循環(huán)體代碼 - 條件表達式為 true 時重復執(zhí)行循環(huán)體代碼
} while(條件表達式);
執(zhí)行思路:
- 先執(zhí)行一次循環(huán)體代碼
- 再執(zhí)行條件表達式,如果結果為
true,則繼續(xù)執(zhí)行循環(huán)體代碼,如果為false,則退出循環(huán),繼續(xù)執(zhí)行后面代碼。
注意:先再執(zhí)行循環(huán)體,再判斷,會發(fā)現 do…while 循環(huán)語句至少會執(zhí)行一次循環(huán)體代碼
例如:通過do while循環(huán)計算 1 ~ 100 之間所有整數的和。
var sum = 0;
var i = 0;
do{
sum += i;
i++;
}while(i<=100)
console.log(sum);
五、循環(huán)小結
JS 中循環(huán)有 for 、while 、 do while
三個循環(huán)很多情況下都可以相互替代使用
如果是用來計次數,跟數字相關的,三者使用基本相同,但是我們更喜歡用 forwhile 和 do…while 可以做更復雜的判斷條件,比 for 循環(huán)靈活一些while 和 do…while 執(zhí)行順序不一樣,while 先判斷后執(zhí)行,do…while 先執(zhí)行一次,再判斷執(zhí)行while 和 do…while 執(zhí)行次數不一樣,do…while 至少會執(zhí)行一次循環(huán)體, 而 while 可能一次也不執(zhí)行
六、continue break
1、continue關鍵字
continue 關鍵字用于立即跳出本次循環(huán),繼續(xù)下一次循環(huán)(本次循環(huán)體中 continue 之后的代碼就會少執(zhí)行一次)。
例如:吃5個包子,第3個有蟲子,就扔掉第3個,繼續(xù)吃第4個第5個包子,
其代碼實現如下:
for (var i = 1; i <= 5; i++) {
if (i == 3) {
console.log('這個包子有蟲子,扔掉');
continue; // 跳出本次循環(huán),跳出的是第3次循環(huán)
}
console.log('我正在吃第' + i + '個包子呢');
}
2、break關鍵字
break 關鍵字用于立即跳出整個循環(huán)(循環(huán)結束)。
例如:吃5個包子,吃到第3個發(fā)現里面有半個蟲子,其余的不吃了,其代碼實現如下:
for (var i = 1; i <= 5; i++) {
if (i == 3) {
break; // 直接退出整個for 循環(huán),跳到整個for下面的語句
}
console.log('我正在吃第' + i + '個包子');
}
到此這篇關于JavaScript流程控(循環(huán))的文章就介紹到這了,更多相關JavaScript流程控內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
前端Website?sitemap.xml文件搜索引擎優(yōu)化
這篇文章主要為大家介紹了前端Website的sitemap.xml文件和搜索引擎優(yōu)化實現詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05

