條件分支語句也叫switch語句
語法:
switch(條件表達式){ case 表達式 : 語句… break; case 表達式 : 語句… break; default : 語句… break; }
執行流程:
switch…case…語句
執行時會將case后表達式的值與switch條件表達式的值進行全等比較,
- 如果比較結果為true,則從當前case處開始執行代碼。當前case后的所有代碼都會被執行。可以在case代碼后跟着break關鍵字,這樣可以確保只執行當前case后的語句,而不會執行其他case。
- 如果比較結果為false,則繼續向下比較
- 如果所有比較結果都為false,則只執行default后的語句
switch語句中的每一種情況(case)的含義是:“如果表達式等於這個值(value),則執行后面的語句(statement)”;
break關鍵字會導致代碼執行流跳出switch語句。如果省略break關鍵字,就會導致執行完當前case后,繼續執行下一個case。
default關鍵字則用於在表達式不匹配前面任何一種情形時,執行機動代碼(因此,也相當於一個else語句)
switch語句和if語句異同點:
switch語句和if語句實際上是有重復的,使用switch可以實行if的功能,使用if也可以實現switch的供能,具體選擇哪種方法,可以根據自己的習慣選擇。
實例:(根據num的值來輸出對應的英文)
var num=1; switch(num){ case 1: console.log("one"); }
注意:如果比較結果為true,就從當前case處開始執行代碼。從當前case處執行代碼意味着不僅僅是case后面緊跟着的這條語句,還有case后面所有的語句都進行輸出。(num為2,case 2表達式與其全等,所以case 2后面的所有代碼都運行)
var num=2; switch(num){ case 1: console.log("one"); case 2: console.log("two"); case 3: console.log("three"); }
輸出結果:
注意:執行break可以退出switch語句,截斷了case代碼,只輸出case 2后面的語句。