[JS101] 判斷式


Posted by yymarlerr on 2021-04-21

判斷式

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)
    









Related Posts

巢狀救星三部曲(2) - ES6 Generator Function

巢狀救星三部曲(2) - ES6 Generator Function

Customise mat datepicker header

Customise mat datepicker header

React 套件-路由 react-router-dom

React 套件-路由 react-router-dom


Comments