10-JavaScript基础-流程控制-Switch

2018-10-17  本文已影响0人  雪妮爸爸

Switch基本概念

Switch基本格式
switch(条件表达式){
  case 表达式:
      语句1;
      break;
  case 表达式:
      语句2; 
      break;
  case 表达式n:
      语句n;
      break;
  default:
      语句n+1;
      break;
}

计算条件表达式的值。 并逐个与case后面表达式的结果值比较
当条件表达式的值与某个表达式的值全等时, 执行其后的语句,并且不会再与其它case进行比较
如条件表达式的值与所有case后的表达式均不相同时,则执行default后的语句。
示例

var num = 2;
switch(num){
    case 1:
        console.log("壹");
        break;
    case 2:
        console.log("贰"); // 输出贰
        break;
    case 3:
        console.log("叁");
        break;
    default:
        console.log("非法数字");
        break;
}

Switch注意事项

var str = "123";
switch (str){
    case 123:
        console.log("123数字");
        break;
    case "123":
        console.log("123字符串"); // 输出123字符串
        break;
    default:
        console.log("default");
        break;
}
var num = 120;
switch (120){
    case num: // 这里可以是变量
        console.log("120"); // 输出120
        break;
    case 110: // 这里可以是常量
        console.log("110");
        break;
    default:
        console.log("default");
        break;
}

判断时会先计算表达式的值,再判断

switch (120 + 3){ // 计算后为123
    case 120:
        console.log("120");
        break;
    case 3:
        console.log("3");
        break;
    case 3 + 120: // 计算后为123
        console.log("3 + 120"); // 输出3 + 120
        break;
    default:
        console.log("default");
        break;
}
var num = 2;
switch(num){
    case 1:
        console.log("壹");
    case 2:
        console.log("贰"); // 输出贰
    case 3:
        console.log("叁");// 输出叁
    default:
        console.log("非法数字");  // 输出非法数字
}

default可以省略
default语句可以写在switch语句中的任意位置

if语句和switch语句转换

 要求用户输入一个分数,根据输入的分数输出对应的等级
   A 90~100
   B 80~89
   C 70~79
   D 60~69
   E 0~59
    //    1.定义变量保存用户输入的分数
    var score;
    //    2.提接收用户输入的学生的分数
    score = +(window.prompt("请输入一个0~100的分数\n"));
    //    3.判断用户输入的分数输出对应的等级
    if (score >= 90 && score <= 100) {
        alert("A");
    }else if (score >= 80 && score <= 89) {
        alert("B");
    }else if (score >= 70 && score <= 79) {
        alert("C");
    }else if (score >= 60 && score <= 69) {
        alert("D");
    }else if (score >= 0 && score <= 59) {
        alert("E");
    }else{
        alert("少喝点三鹿");
    }
    //    1.定义变量保存用户输入的分数
    var score;
    //    2.提接收用户输入的学生的分数
    score = +(window.prompt("请输入一个0~100的分数\n"));
    //    3.判断用户输入的分数输出对应的等级
    // 100/10 = 10, 99/10 = 9.9
    console.log(score / 10);
    console.log(parseInt(score / 10));
    switch (score/10) {
        case 10: // 利用case的穿透简化代码
        case 9:
            alert("A");
            break;
        case 8:
            alert("B");
            break;
        case 7:
            alert("D");
            break;
        case 6:
            alert("C");
            break;
        default:
            alert("E");
            break;
    }

if语句和switch语句选择

判断用户输入的数是否大于100
if实现

//    1.定义变量保存用户输入的分数
var score;
//    2.提接收用户输入的学生的分数
score = +(window.prompt("请输入一个0~100的分数\n"));
//    3.判断用户输入的数是否大于100
if (a > 100) {
    console.log("大于");;
}

switch实现

// 挺(T)萌(M)的(D)搞不定啊
switch (101) {
    case 101:
    case 102:
    case 103:
    case 104:
    case 105:
        console.log("大于\n");
        break;
    default:
        console.log("小于\n");
        break;
}

Switch练习
从键盘输入一个月份,输出对应季节 12~2 冬季 3~5 春季 6~ 8 夏季 9~11 秋季(用switch)

    //    1.定义变量保存用户输入的数据
    var month;
    //    2.利用window.prompt()接收用户输入数据
    month = +(window.prompt("请输入一个1-12的月份"));
    //    3.数据安全校验
    if(isNaN(month)){
        alert("火星SB?");
    }else{
//    4.根据输入的数据判断输出对应的月份即可
        switch (month){
            case 1:
            case 2:
            case 12:
                alert("冬季");
                break;
            case 3:
            case 4:
            case 5:
                alert("春季");
                break;
            case 6:
            case 7:
            case 8:
                alert("夏季");
                break;
            case 9:
            case 10:
            case 11:
                alert("秋季");
                break;
            default:
                alert("你是SB么?");
                break;
        }
    }

使用Switch实现简单的计算器

// 1.定义变量保存用户输入
var num1,num2,op,result;
// 2.接收用户输入
num1 = +(window.prompt("请输入第一个数字"));
op = window.prompt("请输入运算符: + - * /");
num2 = +(window.prompt("请输入第二个数字:"));
// 3.根据用户输入计算结果
switch (op) {
    case "+":
        result = num1+num2;
        break;
    case "-":
        result = num1-num2;
        break;
    case "*":
        result = num1*num2;
        break;
    case "/":
        result = num1/num2;
        break;
    default:
        alert("更多功能请使用付费版本");
        break;
}
// 4.输出结果
alert("计算结果:" + result);
上一篇 下一篇

猜你喜欢

热点阅读