# if 與 switch ## if 語句 :point_right: 是一種選擇結構,用條件語句來決定執行不同的動作。 --- **if語句** : 條件為true時執行程式,為flase時無動作 ```javascript= if(條件){ 條件為true執行的程式 } if(3>0){ //true 執行語句 console.log("三大於零為真") } ``` **if...else...語句** : 條件為true時執行程式,為false時執行其他程式 ```javascript= if(條件){ 條件為true執行程式 } else { 條件為false執行程式 } ``` **if...else if...else語句** : 有多個條件要判斷時使用,依次判斷﹐當條件滿足時就執行相對的程式碼,*且只會執行一次*。 當所有條件都不滿足時執行else的程式碼 ```javascript= if(條件A){ 條件為true執行程式 } else if(條件B){ 條件為true執行程式 } else if(條件C){ 條件為true執行程式 }else { 都不符合條件時執行 } ``` ## switch語句 :point_right: 常用於根據不同的條件執行不同的操作,雖然它和 if 語句都是用來判斷條件的語句但是Switch case 使用嚴格比较(===)。 **語法** ```javascript= switch (表達式) { //計算一次表達式 case 表達式A: //把表達式的值與每個 case 的表達式進行對比 語句A; //如果條件符合,則執行該語句 break; case 表達式B: //不符合就繼續往下判斷 語句B; ... ... default: //與所有case都不符合時執行default的語句 語句C; break; } ``` **實例** ```javascript= let level = "C" switch (level) { //條件為===C case "A": //不符合 console.log("表現良好"); break; case "B": //不符合 console.log("表現普通"); break; case "C": //符合 console.log("有待加強"); //執行 break; case "D": console.log("需要努力"); break; default: console.log("留校察看"); break; } //輸出 有待加強 ``` ## break關鍵字 遇到 break 關鍵字,會跳出 switch 流程,直接終止程式能夠節省大量執行時間,因為它會忽略 switch 程式碼中的其他程式的執行。 若是沒有輸入break會穿透case執行到其他的case,可利用此點執行不同case但是相同表達式 ## if與switch兩者比較 | | if | switch | | -------- | -------- | -------- | |判斷條件|等值判斷和區間判斷 |嚴格比較(等值)| |結束方式|當完成一個相對應的語句時|break跳出| ## 判斷該用哪個:point_right: > **對區間判斷用if > 對幾個固定值用switch** ## 參考資料 [IT人](https://iter01.com/517544.html) [W3school](https://www.w3school.com.cn/js/js_switch.asp)
{"metaMigratedAt":"2023-06-16T12:41:56.327Z","metaMigratedFrom":"Content","title":"if 與 switch","breaks":true,"contributors":"[{\"id\":\"663fae2d-2bb5-4437-90b7-96f11a50e120\",\"add\":1877,\"del\":33}]"}
Expand menu