一、 程序流程控制
結(jié)構(gòu)化程序有三種結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
二、 條件語句
1. if 條件語句
語法:
if(condition1){
//語句1
}else if(condition2){
//語句2
}else if(condition3){
//語句3
}else{
//語句4
}
//if結(jié)構(gòu)外面的代碼
說明:
1、首先判斷condition1,如果是true,則執(zhí)行"語句1"。
2、如果condition1是false,則判斷condition2,如果是true,則執(zhí)行"語句2"。以此類推。
3、如果中間碰到任何一個(gè)condition是true,則執(zhí)行相應(yīng)的語句,執(zhí)行完畢之后,則整個(gè)if結(jié)構(gòu)的語句也結(jié)束了。不會(huì)再判斷后面的condition。
4、如果所有的condition都是fasle,則會(huì)自動(dòng)執(zhí)行else中的語句。
注意:該結(jié)構(gòu)中,一定會(huì)有一個(gè)而且僅有一個(gè)語句執(zhí)行。
2.switch..case 條件語句
switch語句也是與if語句一樣使用廣泛的選擇語句。與c、java的語法一樣,但是使用起來比他們更靈活。
語法:
var e = prompt("請輸入一個(gè)數(shù)")
switch (e) {
case value1:
//語句1
break;
case value2:
//語句2
break;
case value3:
//語句3
break;
case value4:
//語句4
break;
default:
//fefault語句
}
說明:
- switch語句的含義是如果某個(gè)case的value與e相等,則執(zhí)行這個(gè)case對應(yīng)的語句,碰到break語句就結(jié)束switch語句。
- 如果沒有一個(gè)case都不匹配,則自動(dòng)執(zhí)行default語句。
- 可以沒有default,如果沒有則當(dāng)所有的case都不匹配的情況下,自動(dòng)結(jié)束switch,一條語句都不執(zhí)行。
- 對JavaScript來說,e可以是任何類型的(基本類型和引用類型),而case后面的value可以是變量、常量、對象、表達(dá)式。 (其他語言如:java和c則只能是常量,而且expression表達(dá)式的類型也有限制)
- 注意:在執(zhí)行的過程中,如果匹配了某個(gè)case,則從這個(gè)case的語句開始執(zhí)行,直到碰到break或者switch的結(jié)尾才會(huì)結(jié)束。
三、循環(huán)語句
1.for 循環(huán)語句
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
//循環(huán)體
}
說明:
開始執(zhí)行循環(huán) -> 表達(dá)式1(給循環(huán)變量賦予初始值)
-> 表達(dá)式2(判斷當(dāng)前循環(huán)是否成立)
-> 表達(dá)式2:true -> 循環(huán)體
-> 表達(dá)式3(讓循環(huán)逐漸靠近結(jié)束條件)
-> 表達(dá)式2:false -> 結(jié)束當(dāng)前循環(huán)
循環(huán)的結(jié)束:
break 和continue
break:直接結(jié)束循環(huán)
continue:跳過循環(huán)
2.while 循環(huán)
while(condition){
//循環(huán)體
}
while 循環(huán)中的 condition 是用于判斷(且不能?。?循環(huán)是否成立
按我的理解和if 判斷很像。
3.do..while
do{
//循環(huán)體
}while(condtion)
注意:
do..while 循環(huán)和 while 循環(huán)最大的差別在于
do..while 循環(huán)無論循環(huán)條件是否成立,都會(huì)執(zhí)行一遍
執(zhí)行玩再判斷condtion是否正確,正確則循環(huán)繼續(xù)