JavaScript 逻辑分支 switch 练习题

这篇博客通过两个练习题介绍了如何使用JavaScript的switch语句进行逻辑分支处理。第一个练习是根据输入的月份输出当月的天数,利用case穿透简化代码。第二个练习涉及根据日期计算它在当年中的第几天,同样使用switch穿透实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 输入月份,显示当月的天数, 利用case穿透简化代码
var month = prompt("请输入月份");
        var year = prompt("请输入年份");
        // month是字符串类型 需要类型转换
        switch(Number(month)){
            case 1 :
            case 3 :
            case 5 :
            case 7 :
            case 8 :
            case 10 :
            case 12 :
                alert("31天");
                bresk;
            case 4 :
            case 6 :
            case 9 :
            case 11 :
                alert("30天");
                bresk;
            case 2 :
                //判断平年闰年
                if(year % 4 === 0 && year % 100 !==0 || year % 400 === 0){
                    alert("29天");
                }else{
                    alert("28天");
                }
        }
2、根据日期,判断这个日期是这一年的第几天。(使用switch 穿透编写) 例如: 2016,02,11,计算后结果为42
        var date_string = prompt("请输入八位数日期");
        // 拆分日
        var date = date_string % 100;
        // 拆分月
        var months = parseInt(date_string / 100) % 100;
        // 拆分年份
        var years = parseInt(date_string / 10000);
        // console.log(years,months,date);
        // 根据年月日判定当前日期已经经过了多少天
        var days = 0;
        // 1.前面所有月份的日期总和
        switch(months - 1){
            case 11 : 
                days += 30;
            case 10 :
                days += 31;
            case 9 :
                days += 30;
            case 8 :
                days += 31;
            case 7 :
                days += 31;
            case 6 :
                days += 30;
            case 5 :
                days += 31;
            case 4 : 
                days += 30;
            case 3 :
                days += 31;
            case 2 :
                // 判断平年闰年
                if(years % 4 === 0 && years % 100 !==0 || years % 400 === 0){
                    days += 29;
                }else{
                    days += 28;
                }
            case 1 :
                days += 31;
        }
        // 2.加上当月的日期
        days += date;
        console.log(days);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值