zoukankan      html  css  js  c++  java
  • [译]Javascript中的switch语句

    本文翻译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;
    }
  • 相关阅读:
    Oracle-11g ASM Fast Mirror Resync特性
    Oracle
    Oracle-19C中的DML重定向(DML Redirection)
    Oracle-重建oraInventory仓库
    Oracle-输出存储在ASM中当前数据库客户端未打开的文件列表
    Oracle-19c特性之刷新数据库缓存中的密码文件信息
    Oracle-DG环境进行failover故障演练
    Oracle-switchover转换DG角色
    论衡中校长郗会锁儿子高考移民西藏事件反映出的诸多问题
    退役后记:春夏篇
  • 原文地址:https://www.cnblogs.com/otakuhan/p/7669578.html
Copyright © 2011-2022 走看看