我們上篇有講到判斷式有兩種語法,這次要說到的就是switch這個語法了。
這個語法適合用在多重判斷上面,會搭配case跟 break做使用
基本架構如下:
switch (輸入進來的條件) {
case "與輸入條件做比對,符合會執行,不符合會往下個case做判斷":
執行內容
break;
case "與輸入條件做比對,符合會執行,不符合會往下個case做判斷":
執行內容
break;
...
default:
以上沒有符合的條件,會執行的內容
break;
}
break的用途就是跳出整個switch的判斷式,如果說要讓執行內容接連執行,可以把break拿掉,
如果想要讓他完全不符合就跳過不執行,也可以拿掉default,簡單來說就是以上架構也可以配合不同需求做調整
比如說:
switch ("b"){
case "a":
alert("aaa");
break;
case "b":
alert("bbb");
case "c":
alert("ccc");
case "d":
alert("ddd");
break;
case "e":
alert("eee");
break;
}
因為我把b跟c的break拿掉,上方比對條件我設定為b,所以上面的程式碼執行後會跳出三個警告視窗,
分別是bbb、ccc、ddd,因為我在case "d"的地方設定了break,所所case "d"執行完後會跳出判斷式,不會往下執行case "e",這種方式也被稱為 Fall-Through。
參考來源:
https://www.fooish.com/javascript/switch-case.html
https://www.wibibi.com/info.php?tid=187
https://medium.com/%E9%A6%AC%E6%A0%BC%E8%95%BE%E7%89%B9%E7%9A%84%E5%86%92%E9%9A%AA%E8%80%85%E6%97%A5%E8%AA%8C/js-%E5%88%A4%E6%96%B7%E7%AD%86%E8%A8%98-%E9%81%8B%E7%AE%97%E5%AD%90-if-switch-a9f5e535835b