分支語句
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
}