JavaScript if...else 語法
if
if (condition) {
// statements
}
當 condition 為 true 的時候,才執行大括號裡面的語句,如果是 false 則跳過整個 if 區塊。
例如:
if (age > 18) {
status = 'adult';
adultNum += 1;
}
if else
if (condition) {
statement_1;
} else {
statement_2;
}
當 condition 為 true 的時候,執行 if 大括號裡面的語句,如果是 false 則執行 else 區塊裡面的語句。
例如:
if (age > 18) {
status = 'adult';
adultNum += 1;
} else {
status = 'minor';
minorNum += 1;
}
else if
if (condition_1) {
statement_1;
} else if (condition_2) {
statement_2;
} else if (condition_n) {
statement_n;
} else {
statement_last;
}
你還可以用很多個 else if 切分更多個條件區塊,程式會從上到下執行每一個 condition,直到第一個 condition 為 true 的區塊,且就只會執行這個區塊的語句;但如果 condition 全部都是 false 則執行 else 區塊 (你也可以省略 else 區塊,則會全部跳過什麼都不執行)。
另外,如果 if, else 或 else if 區塊裡面只有一個語句,則可以省略大括號,例如:
if (age > 18) {
status = 'adult';
} else {
status = 'minor';
}
跟下面這個一樣意思:
if (age > 18)
status = 'adult';
else
status = 'minor';
但好習慣還是加上大括號,避免非預期錯誤,例如改天你 if 裡面多加了一行語句,這時沒大括號就會出錯喔!
Falsy values
還記得嗎?在運算子有提到過的,JavaScript 只有對下面這些值會判斷為 false 其他都是 true:
- 布林值 false
- undefined
- null
- 數值 0
- NaN
- 空字串 ''
例如:
var text = '';
if (text) {
// 我不會被執行
} else {
// 我會被執行
}