一、條件語句
1. 單分支
(1)格式
if(表達式){
執行語句
}
(2)規則
- 當括號內的表達式結果成立(爲true時),則執行大括號內的語句,否則不執行。
- 括號裏的表達式一般是關係表達式或者邏輯表達式:
注意:
- if後面的()不能省略。
- 無論執行語句是一條還是多條,一對{ }都不能省略。
- if語句, 只能決定,緊跟着if語句後的一條語句是否執行,在JS中,我們把{ }括起來的所有語句都當做是一條語句對待。
2. 雙分支
(1)格式
if (判斷條件/表達式){
執行語句1;
}else{
執行語句2;
}
(2)規則
當括號內的判斷條件/表達式結果成立的時候,執行執行語句1,否則執行執行語句2
(3)示例
求兩個數的最大數:
var num1 = 10;
var num2 = 20;
var max = null; //如果在聲明變量的時候,沒有賦值,那麼一般情況下,將當前這個變量的值設置成null。
if(num1 > num2){
max = num1 ;
}else{
max = num2 ;
}
3. 多分支
3.1. if- else if -else結構
(1)格式
if(表達式1) {
執行語句1;
}else if(表達式2) {
執行語句2 ;
}else if(表達式3 ){
執行語句3;
}else{
執行語句n;
}
(2)規則
從上往下,滿足哪個條件就執行對應的語句,都不滿足時,執行最後的else的語句,只能進入其中之一。
3.2. switch-case-default結構
(1)格式
switch(表達式){
case常量1:
語句1;
break;
case常量2:
語句2;
break;
case 常量3:
語句3;
break;
default:
如果上述語句都不成立,執行這裏;
break;
}
(2)規則
- 表達式的結果等於哪個case的常量,則執行其後的語句,執行完break以後,就跳出switch結構,如果都不滿足,執行default語句。
- break的作用:是跳出switch結構,如果沒有break,則繼續執行下面分支的的語句(而不進行判斷)。
注意:
- break是定不能省 略的,如果省略就會 造成事件穿透。
- default一般情況下,不要省略,爲了避免語句歧義。
4. 嵌套if結構
(1)格式
if (表達式1)
if (表達式2)
{
if (表達式3)
{
語句;
}
else
{
語句;
}
}
}
(2)規則
- 嵌套if時,最好不要超過三層;
- 內層的每一對if…else代碼要縮進且對齊;
- 編寫代碼時,else要與最近的if配對。
注意:
- if後面的()不能省略,()後面不要加分號。
- if分支中即使一句話也要把{}寫上。
- if嵌套不要超過三層。
- switch語句裏把default分支一定要寫上,防止在以後的維護中產生歧義。
- 把執行概率更大(正常情況)放在前面(if,case )
- if else和switch:
- if-else一般來表示兩個分支或者嵌套比較少的分支,如果分支多的話,用switch。
二、循環語句
1. 循環的概念
循環結構是程序中一種很重要的結構,其特點是在給定條件成立時,反覆執行某程序段,直到條件不成立爲止。
(1)分類
- while循環
- do…while循環
- for循環
2. while循環
(1)語法格式:
while(表達式)
循環語句;
}
注意:
- 先判斷表達式,表達式成立後執行語句。
- 循環條件中使用的變量(循環變量)需要經過初始化。
- 循環體中,應有結束循環的條件,否則會造成死循環。
- 循環體中可以寫若干句合法的javaScript代碼,包括if, 也可以再套個循環語句。
3. do-while循環
(1)語法格式:
do
{
循環語句;
}while(表達式);
注意:
- do-while循環先去執行次循環語句, 然後再去判斷一次表達式。
- 最後的分號不要忘記。
- 循環條件中使用的變量需要經過初始化。
- 循環體中,應有結束循環的條件,否則會造成死循環。
4. while和do while的區別
- 執行順序的問題,while是先判斷,do-while,先執行循環體的代碼,再判斷。當條件第一次就不滿足時,更能體現出區別。
- 在開發中,while用的情況多。如果while處理邏輯比較彆扭時,就需要使用do-while。
5. for循環
(1)語法格式
for(表達式1:表達式2:表達式3)
{
循環語句;
}
(2)執行過程
- ① 先求解表達式1 (只求一次) ;
- ② 求解表達式2,若其值爲真(非0),則執行for語句中指定的內嵌語句,然後求解表達式3;再求解表達式2,若爲假,則結束循環,執行for循環外的語句。
(3)說明
for循環三個表達式的說明:
- 三個表達式都可以省略,但分號不能省略,省略後都可改寫。
如:省略表達式1,需在循環外初始化循環變量。
var i=1;
for(;<=100;i++){
sum=sum+i;
}
- 3個表達式都省略:例:for(;😉 這是個死循環
6. 循環的嵌套
- 一個循環語句內又包含另個完整的循環語句。
- 3種循環可以互相嵌套,下面幾種都是合法的形式。
while(){
while()
{..}
}
do{
do
{...}while();
}while();
for(;;)
{
for(;;)
{..}
}
do{
while()
{...}
}while();
for(;;)
{
while()
{..}
}
7. break語句與continue語句
(1)break語句
- 在swith語句中使流程跳出switch。
- 在循環語句中使流程跳出當前的循環。
(2)continue語句
只能在循環語句中使用,使本次循環結束,即跳過循環體中下面尚未執行的語句,接着進行下次是否執行循環的判斷