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 {
    // 我會被執行
}