javascript switch循环

今天再给大家介绍一下switch
先说说switch的优势:
1.选择结构更加清晰,一目了然。
2.执行速度相对较快。
Switch的执行逻辑:从switch后面圆括号里的变量与从case后边的常量相等的地方开始,依次执行指令,直到指令结束。
Case 的作用不会参与到运算中,不起条件判断作用,否则执行逻辑就解释不通。
Case是起到标号的作用,只是执行的指令的入口标号。
标号:在计算中,标号只是存储了指令的地址。
Break的作用:直接跳出选择结构。
Break在switch中,只是起到一个辅助作用,并不属于switch语句。
比如让大家写一个计算今天是今年的第几天
如果用if语句,
那代码可长了,不信你可以试试,而如果用switch呢?
    var month = Number(prompt("请输入月份"));
    var data = Number(prompt("请输入当天日期"));
    var num = 0;
    switch (month-1){
        case 11:num += 30;
        case 10:num += 31;
        case 9:num += 30;
        case 8:num += 31;
        case 7:num += 31;
        case 6:num += 30;
        case 5:num += 31;
        case 4:num += 30;
        case 3:num += 31;
        case 2:num +=28;
        case 1:num += 31;
    }
    num = num + data;
    alert(num);
不知道大家发现问题了没有,为什么不从1-11,而是11-0呢?
原因就在于当你输入一个数时,他会从那个数减一,找到对应的值,进行依次计算,
这样就可以对下面的数值进行累加了。当然正常的写法中肯定是有break的了,
只不过,在这里不同需要不同写法了。
如果想正常写的话,给大家提供下面的例子。
例:求当月是 什么季节?
    var month = Number(prompt("请输入月份"));
    var season;
    switch (month){
        case 12:
        case 1:
        case 2: season = "冬";break;
        case 3:
        case 4:
        case 5: season = "春";break;
        case 6:
        case 7:
        case 8: season = "夏";break;
        case 9:
        case 10:
        case 11: season = "秋";break
    }
    alert(season);

你可能感兴趣的:(前端,前端,css,前端,js,JavaScript)