天天看點

JS筆記-分支語句、循環語句

分支語句

if

1. 單分支

if(條件表達式){
    條件成立執行該位置代碼
}           

2. 雙分支

if(條件表達式){
    條件成立執行該位置代碼
}else{
    條件不成立執行該位置代碼
}           

3. 多分支

if(條件表達式1){
    條件表達式1成立執行該位置代碼
}else if(條件表達式2){
    條件表達式2成立執行該位置代碼
}else if(條件表達式3){
    條件表達式3成立執行該位置代碼
}else{
    以上條件都不滿足,則執行該位置代碼
}           

switch

switch(變量、值){
    case 值1:
        // 如果括号内的變量和值和值1相等,則執行這裡的代碼塊
        代碼塊
    break;
    case 值2:
        // 如果括号内的變量和值和值1相等,則執行這裡的代碼塊
        代碼塊
    break;
    default:
        // 上述的值和括号内的變量不比對,則執行這裡的代碼塊
        代碼塊
    break;
}           

switch和if的差別

1. if判斷是在一個區間範圍内,得到的結果是boolean類型

2. switch判斷目前的值是否是相等的,判斷相等用的是"==="

隐式轉換

在運算、比較、邏輯等過程找那個根據的類型會轉換相應的類型

// 字元串隐式轉換
// 加号的某側有字元串的情況,預設是字元串拼接
var a = '哈哈';
var a1 = 2;
console.log(a + a1);   // 哈哈2

// 數學運算   除了加号,有數值類型的預設會進行數學運算
var b = 2;
var b1 = '1';
console.log(b - b1); // 1

// 比較運算  
var c = '你'; // 轉換為數字類型的時候得到的是NaN
var c1 = 2;
console.log(c<c1); // false 

var c2 = 'a';
var c3 = 'b';
console.log(c2>c3); // ASCII碼表

NaN:not a number 不是一個數字
    - 沒有辦法決定NaN具體是多少 => 數字類型
    - 兩個NaN比較是不相等的
           

循環語句

代碼重複執行

while

文法:
while(判斷條件){
    符合判斷條件重複執行的代碼塊
}
           

do...while

文法:
do{
    重複執行的代碼塊
}while(判斷條件)           

while 和 do...while的差別

1. while是根據條件判斷才執行代碼

2. do...while是先執行一次代碼,後在進行條件的判斷

For循環

文法:
for(變量的初始值;判斷的條件;變量的變化){
    重複執行的代碼塊   
}           

For循環嵌套

文法:
for(變量的初始值;判斷的條件;變量的變化){
    for(變量的初始值;判斷的條件;變量的變化){
        重複執行的代碼塊
    }
}           

循環語句的控制

1. break關鍵字

表示終止結束目前程式,可以使整個循環結束運作

eg:
for(var i = 1;i <= 5;i++){
    if(i == 3){
        break;
    }
    document.write(i); // 12
}           

2. continue關鍵字

表示可以跳過本次循環,直接進行下一次循環

eg:
for(var i = 1;i <= 5;i++){
    if(i == 3){
        continue;
    }
    document.write(i); // 1245
}           

繼續閱讀