输入月份,显示当月的天数 要求:利用case穿透简化代码(分析+代码)

题目:输入月份,显示当月的天数   要求:利用case穿透简化代码

分析:

第一步:确定月份天数情况,1、3、5、7、8、10、12 月均为31天;4、6、9、11均为30天;2月份闰年有29天,平年有28天。

第二步:判断平年闰年的条件是能被4整除且不能被100整除或能被400整除的数

第三步:理解case穿透技术并会使用

注:28天和29天的判断中运用到了三元表达式

   表达式  ? 事件1 : 事件2

如果表达式为真,则结果为事件1的结果;如果表达式为假,则结果为事件2的结果。

具体代码如下:

<script type="text/javascript">

// 输入月份,显示当月的天数   要求:利用case穿透简化代码

var year = prompt('请输入年份(如2021):');

var month = prompt("请输入月份(如 3 ):");

var temp;

var fla = 1;

month = Number(month);

year = Number(year)

if(year % 4 == 0 && year % 100 != 0){

    temp = 1;

    alert('普通闰年')

}else if(year % 400 == 0){

    temp = 1;

    alert('闰年')

}else{

    temp = 0;

    alert('平年')

}

// alert('类型'+ typeof temp)

alert('temp的值是' + temp)

switch(month){

    //2月

    case 2 : 

    fla == temp ? alert(year + '年的'+ month + '月有29天') : alert(year + '年的'+ month + '月有28天')

    // if(fla = true){

    //     alert(year + '年的'+ month + '月有28天')

    // }else{

    //     alert(year + '年的'+ month + '月有29天')

    // }

    break;

    //有31天的月份

    case 1 : 

    

    case 3 : 

    case 5 : 

    case 7 : 

    case 8 : 

    case 10 : 

    case 12 : alert(year + '年的'+ month + '月有31天')

    break;

    //有30天的月份

    case 4 : 

    case 6 : 

    case 9 : 

    case 11 : alert(year + '年的'+ month + '月有30天')

    break;

    default : alert(请输入正确的月份)

    break;

}

</script>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值