JavaScript switch與if else語句的區別
switch和if else都是流程控制語句,非常相似。
關於兩者基本用法可以參閱以下兩篇文章:
(1).switch語句可以參閱JavaScript switch 語句一章節。
(2).if else語句可以參閱JavaScript if else 語句一章節。
雖然功能比較相似,但是區別也是很大的,下面就通過程式碼例項做一下簡單介紹。
功能區別一:
當滿足指定條件後,if else語句就會指定與條件相關聯的分支程式碼,其餘的分支不會再有機會被執行。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let num=5; if(num>7){ console.log("數字大於7"); }else if(num>6){ console.log("數字大於6"); }else if(num>5){ console.log("數字大於5"); }else if(num>4){ console.log("數字大於4"); }else{ console.log("前面條件都不滿足"); }
程式碼執行效果截圖如下:
上述程式碼中,只會執行與滿足條件分支關聯的程式碼,其他分支關聯程式碼不會有機會再執行。
如果不使用if else語句而是單純if語句的羅列,每一條語句都會執行到。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let num=5; if(num>7){ console.log("數字大於7"); } if(num>6){ console.log("數字大於6"); } if(num>5){ console.log("數字大於5"); } if(num>4){ console.log("數字大於4"); }
上述程式碼中,每一個if語句都會執行,但是此時不能將多個if語句看做一個獨立的功能單元,而是應該看做多個功能單元,與if else不同。再來看一下switch語句,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let num=6; switch(num){ case 7: console.log("數字等於7"); break; case 6: console.log("數字等於6"); case 5: console.log("數字等於5"); default: console.log("螞蟻部落"); }
程式碼執行效果截圖如下:
第一個case匹配,由於沒有使用break,執行完與其相關聯的程式碼之後,還會繼續執行其他case關聯的程式碼。
關於這方面知識可以參閱switch不加break情況分析一章節。
功能區別二:
在多條件判斷的時候,switch語句的效能更好,深層次原因這裡不做介紹,記住就好。
switch語句能夠實現的判斷if else都能夠實現,但有些if else實現的switch語句則難以實現。
使用規則大致如下:
(1).在進行區間條件判斷的時候,if else非常適合,switch則很難實現。
(2).在進行固定值條件判斷的時候,switch則是更好的選擇,效能更為優良。
相關文章
- Java 判斷語句 - if…else/switchJava
- JavaScript if else 語句JavaScript
- JavaScript switch 語句JavaScript
- JavaScript switch語句JavaScript
- JavaScript中的switch語句JavaScript
- Go_ if else語句 ,,迴圈,,switch,,陣列Go陣列
- js switch語句需要特別注意的地方JS
- switch語句的妙用
- 【js迴圈語句】for與while的區別JSWhile
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- Go switch 語句Go
- 學習Scala IF…ELSE 語句
- python 中的 for-else 和 while-else 語句PythonWhile
- Java-Annotation的一種用法(消除程式碼中冗餘的if/else或switch語句)Java
- sql宣告變數,及if -else語句、while語句的用法SQL變數While
- switch語句逆向分析
- if …if 和if …else if 區別
- java中的switch case語句Java
- SQL語句case when外用sum與count的區別SQL
- 課時34:豐富的else語句以及簡潔的with語句
- Python if else條件語句Python
- python學習:for else語句Python
- Matlab的if語句switch語句for迴圈while迴圈語句練習MatlabWhile
- [譯] part 10: switch 語句
- Python中if else語句出錯Python
- Python 中的for,if-else和while語句PythonWhile
- recover database的四條語句區別 .Database
- Javascript中“==”與“===”的區別JavaScript
- 《Java從入門到失業》第三章:基礎語法及基本程式結構(3.8):流程控制(選擇語句、if-else語句、switch語句)Java
- 【java web】--JavaScript讓計算器無需Switch和if elseWebJavaScript
- JavaScript break與continue語句JavaScript
- java switch語句是什麼?Java
- java中switch語句注意--breakJava
- 第 7 小節 if、switch 語句
- JAVA基礎--Switch case語句Java
- switch的一些思考(seitch與ifelse的區別)
- C 語言教程:條件和 if...else 語句
- Java學習之分支結構---判斷語句:if語句和switch語句Java