1. 程式人生 > >[譯]Javascript中的switch語句

[譯]Javascript中的switch語句

例子 增強 含代碼 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語句