好像有點邊緣的 switch。
如果沒有 switch
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | var month = 1
 if (month === 1) {
 console.log('一月')
 } else if (month === 2) {
 console.log('二月')
 } else if (month === 3) {
 console.log('三月')
 } else if (month === 4) {
 console.log('四月')
 }
 
 | 
記得之前看書是說用 if 的效能比較不好,因為 month = 4 的話,在執行到 console.log('四月') 之前的每一個 if 都要走過一遍。
有了 switch
條件很多的時候就是適合用 switch,但記得別忘了加 break 跟 default 這兩個東西。(忘了加 break 的話每一行都會被執行到)
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | switch (month) {case 1:
 console.log('一月')
 break
 case 2:
 console.log('二月')
 break
 case 3:
 console.log('三月')
 break
 case 4:
 console.log('四月')
 break
 default:
 console.log('hello')
 }
 
 | 
後來學到也可以「多個 case」指向同個區塊:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | switch (month) {case 1:
 case 2:
 console.log('一月或二月')
 break
 case 3:
 console.log('三月')
 break
 case 4:
 console.log('四月')
 break
 case 5:
 console.log('五月')
 break
 default:
 console.log('hello')
 }
 
 
 | 
其實也有更好的做法(Mapping 映射)
簡單介紹一下 Mapping 的操作。
Mapping 的概念就是你建立一個「陣列」或「物件」,把 value 設定成你要的值,接著用 key 來取出,就像建立代號的概念:
陣列的 mapping
| 12
 3
 
 | var month = 1chineseMonth = ['一月', '二月', '三月', '四月', '五月']
 console.log(chineseMonth[month -1])
 
 | 
物件的 mapping
| 12
 3
 4
 5
 6
 7
 8
 
 | var code = 'A'people = {
 A: '小明',
 B: '小花',
 C: '小朱',
 D: '小飛'
 }
 console.log(people[code])
 
 |