判斷式
if (<輸入條件>) {}
- 若<輸入條件>是 true,那會執行
{}
裡面的內容 <輸入條件>:會由左到由執行,若要執行兩個條件要用
&&
或||
=>var a = 65 if (70 >= a > 60) { console.log('pass') }
if (true > 60)
- 要用
if (a >= 60 && a <= 70)
var a = 50 if (a = 50) { console.log('pass') }
=> 因為 a 不是 0、null⋯⋯等,所以一樣會 log 出 pass
var a = 50 if (a) { console.log('pass') }
if (<輸入條件>) {
<執行內容>
} else {
<執行內容>
}
- 若 <輸入條件> 為 true 執行第一個
{}
內容,若為 false 執行else {}
的內容
// <輸入註解>
或 /*<輸入註解>*/
- 註解不會被執行到
`if (<輸入條件>) {
<執行內容>
} else {
if (<輸入條件>) {
<執行內容>
} else {
<執行內容>}
}
if (<輸入條件>) {
<執行內容>
} else if (<輸入條件>) {
<執行內容>
} else if (<輸入條件>) {
<執行內容>
}
判斷多次條件,篩選的感覺,若最後沒有條件要判斷,可用
else
即可
SWitch(<變數>) {
case <條件>:
<若條件符合變數則執行內容>
break
}
若條件為一個範圍,則改成
switch(true)
- 語法較簡潔、用於三四個條件以上需判斷時
- 當變數有特定比對值時用 switch;當需判斷變數介於某個範圍時,用
if else
較好
function specifyMonth(month) {
switch (month) {
case 1:
return 'Jan'
break
case 2:
return 'Feb'
break
case 3:
return 'Mar'
break
default:
return 'unavailable'
break
}
}
specifyMonth(3)
- default 代表前面都不符合
- 加 break 才會跳出來,不然會繼續跑 console
- 也可兩各條件合起來:
case 1:
case 2:
ternary 三元運算子
- 通常兩個條件下時可用
- 也可多層使用,但不好讀
- 多層使用的範例:
condition ? (condition ? '' : '') : ''
- 第二個條件外不用加 '',因為不是字串
condition ? '' : ''
- console.log(10 > 5 ? 'bigger' : 'smaller')
var score = 60 var message = score >= 60 ? 'psss' : 'fail' console.log(message)