了解switch的选择器的特点并用switch计算指定的年月日是本年的第几天

switch语句的执行逻辑:从switch后面圆括号里的变量与后面的常量相等的地方(代码块)开始,依次执行指令,直到指令结束;
case的作用:并不会参与运算,不起条件判断作用,它的作用是
给变量“引路”,是执行指令的入口标号。在计算机中标号只是存储了指令的地址;
break不属于switch语句的内容,它的作用是跳出选择结构


下面是计算指定日期是本年的第几天的代码,这段代码充分利用了switch选择器的执行逻辑,即:根据变量找到入口标号,依次执行,直到指令结束。
那么实现这个功能为什么倒着写月份呢?
比如,要计算6月5日是今年的第几天,那么已知的条件便是前5个月已经过去了,也就是计算天数的时候前5个月是肯定会加进去的,所以我们让month-1 = 5,依次向下执行(让指定月份以下case的天数相加),最后得到总天数:num+today
要充分理解switch选择器的特点。

var year = Number(prompt("请输入年份"));
    var month = Number(prompt("请输入月份"));
    var today = 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:if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
            num += 29;
        }else{
            num += 28;
        }
        case 1:
            num += 31;
    }
    num = num + today;
    alert(num);

你可能感兴趣的:(switch,选择器,javascript,计算指定日期)