switch 常見問題
switch case

上面結果為何不是哪一個例子進入哪一個的舉例式判斷嗎 ? 為何全部列印出來 ?switch 是從哪邊開始執行
也就是從上面案例中 weekDay = 3 ,是從 3 開始,所以依序往下執行,連同 default 也執行
所以 switch 不只是判斷式,他也有進入點的控制
依照這邊的內容(weekDay),去控制程式碼要從哪邊開始
如果要像是 if else 的判斷式,就要加入 break;
缺點是:
1.程式碼冗長
2.switch() 括號裡的參數 weekDay 的狀態要很清楚,才能handle 全部
如果 case 的內容一樣可以合併
switch (true) 代替 if / else
因為 switch 的 case 需要有明確的值
所以如果要判斷是否為某個區間範圍的值
可將 switch(weight){ } 裡面的 weight 改 true ,修改後如下
1 | var weight = 45; |