[譯]Javascript中的switch語句
阿新 • • 發佈:2017-10-15
例子 增強 含代碼 bsp amp 輸入 lease num 下一個
本文翻譯youtube上的up主kudvenkat的javascript tutorial播放單
源地址在此:
https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b
我們何時應該使用swtich語句
為了增強可讀性,我們可以用switch語句來替代if-else-if語句
註意到以下代碼有多個if-else-if語句
var userInput = Number(prompt("Please enter a number", "")); if (userInput == 1) { alert("You number is One"); } else if (userInput == 2) { alert("You number is Two"); } else if (userInput == 3) { alert("Your number is Three"); } else { alert("Your number is not between 1 and 3"); }
以上代碼可以用switch語句來寫以大大增加可讀性
switch (userInput) { case 1: alert("You number is One");break; case 2: alert("You number is Two"); break; case 3: alert("You number is Three"); break; default: alert("You number is not between 1 and 3"); break; }
一般來說,你需要在每個case後加入break來跳出swtich語句
那麽如果在switch語句裏不添加break會發生什麽呢?
那麽在找到case之後會自動運行下一個case,直到運行完整個程序
在以下的例子中,我們不再case1中加入break語句,那麽當我們輸入數字1之後,我們會得到兩個alerts,第一個alerts是從case1中得來,第二個alert是從case2中得來.
var userInput = Number(prompt("Please enter a number", "")); switch (userInput) { case 1: alert("You number is One"); case 2: alert("You number is Two"); break; case 3: alert("You number is Three"); break; default: alert("You number is not between 1 and 3"); break; }
你可是應該將多個case語句合並在一起呢?
如果你想要給多個case同一份代碼的話,可以如下把各個case合並在一起.一個case語句如果裏面沒有任何語句的話那麽就是多個不同的值共享一個case.一個沒有內含代碼的case會自動跳轉到下一個case
在這個例子中,case1和case2的情況會自動跳轉到case3並且運行其中的代碼
var userInput = Number(prompt("Please enter a number", "")); switch (userInput) { case 1: case 2: case 3: alert("You number is "+ userInput); break; default: alert("You number is not between 1 and 3"); break; }
[譯]Javascript中的switch語句