iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
0

測試一下當我們需要多個判斷的時候。 使用 switch case 的小細節。

我們可以用多個 if else ,甚至巢狀結構去做多個判斷。
例如:

var fruit = 'apple'

if (fruit == 'banana') {
    alert('It is a banana')
} else if (fruit == 'peach') {
    alert('It is a peach')
} else if (fruit == 'apple') {
    alert('It is an apple')
} else {
    alert('I don\'t no what it is')
}

這樣的格式會令我們想到另外一個語法 switch case。
例如:

var fruit = 'apple'
switch(fruit) {
    case 'banana':
      alert('It is a banana')
      break;
    case 'peach':
      alert('It is a peach')
      break;
    case 'apple':
      alert('It is an apple')
      break;
    default:
      alert('I don\'t no what it is')
      break
}

思考然後實驗:
得出一樣結果,但是兩個東西的差別在哪裡? if else 也並未使用 break 語法,當給值符合判斷的時候,只會執行 {} 裡面的內容。而 switch case 並未有 {} 去包裹執行範圍,必須使用 break 中斷接下來的執行。在缺少 break 的情狀下,就不再判斷,而是直接執行下面每一個項目,直到出現 break 語句。

var fruit = 'banana'
switch(fruit) {
    case 'banana':
      alert('It is a banana')
    case 'peach':
      alert('It is a peach')
    case 'apple':
      alert('It is an apple')
      break;
    default:
      alert('I don\'t no what it is')
      break
}

說明:
明明只有香蕉正確,也會執行桃子的項目。


上一篇
一個 JS 學習者的日常 day6
下一篇
一個 JS 學習者的日常 day8
系列文
一個 JS 學習者的日常30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言