標籤:too 代碼 comment pac font 判斷語句 年齡 日誌 script
JavaScript使用if () { ... } else { ... }來進行條件判斷。例如,根據年齡顯示不同內容,可以用if語句實現如下:
[JavaScript] 純文字查看 複製代碼?
| 001002003004005006 |
var age = 20;if (age >= 18) { // 如果age >= 18為true,則執行if語句塊 alert(‘adult‘);} else { // 否則執行else語句塊 alert(‘teenager‘);} |
其中else語句是可選的。如果語句塊只包含一條語句,那麼可以省略{}:
[JavaScript] 純文字查看 複製代碼?
| 001002003004005 |
var age = 20;if (age >= 18) alert(‘adult‘);else alert(‘teenager‘); |
省略{}的危險之處在於,如果後來想添加一些語句,卻忘了寫{},就改變了if...else...的語義,例如:
[JavaScript] 純文字查看 複製代碼?
| 001002003004005006 |
var age = 20;if (age >= 18) alert(‘adult‘);else console.log(‘age < 18‘); // 添加一行日誌 alert(‘teenager‘); // <- 這行語句已經不在else的控制範圍了 |
上述代碼的else子句實際上只負責執行console.log(‘age < 18‘);,原有的alert(‘teenager‘);已經不屬於if...else...的控制範圍了,它每次都會執行。
多行條件判斷
如果還要更細緻地判斷條件,可以使用多個if...else...的組合:
[JavaScript] 純文字查看 複製代碼?
| 001002003004005006007008 |
var age = 3;if (age >= 18) { alert(‘adult‘);} else if (age >= 6) { alert(‘teenager‘);} else { alert(‘kid‘);} |
如果if的條件判斷語句結果不是true或false怎麼辦?例如:
[JavaScript] 純文字查看 複製代碼?
| 001002003004 |
var s = ‘123‘;if (s.length) { // 條件計算結果為3 //} |
JavaScript把null、undefined、0、NaN和Null 字元串‘‘視為false,其他值一概視為true,因此上述代碼條件判斷的結果是true。
http://www.sodu666.com/HaiZeiZhiShenJiJinHua/
http://www.ququer.org/
Javascript簡明教程(5) 條件判斷