1-14循环中用if判断大小月好像不成功,好像一直都是执行的sum+=30,这是为什么?

1-14循环中用if判断大小月好像不成功,好像一直都是执行的sum+=30,这是为什么?

//出生日期是一年中第多少天计算函数
function countDate(y,m,d){
    var sum=d;                               //第多少天的 求和变量
    
    if(m>1){
        if(m==2){            
            return sum+=31;                   //当月份为2时,返回天数值为31+d
        }else{                                //当月份大于2时
            if(isLeapYear){
                sum+=60;                      //当为闰年时,1月和2月总的天数是60天
            }else{ sum+=59}                   //当为平年时,1月和2月总的天数是59天
            console.log(2,sum);
            var i=3;
            do{                       //当月份大于3时,对天数依据月数 进行循环求和
                if((m<8 && m%2==1) ||(m>7 && m%2==0)){
                    sum+=31;               //当是大月时,天数加 31天
                }else {sum+=30;}               //当是小月时,天数加30天
                console.log(i,sum);            //检验段
                i++;
            }while(i<m)
            return sum;                       //返回所求得的天数值
        }                       
    }else return sum;                          //当月份为1时,直接返回赋值为day的天数求和变量        
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕糖 2017-11-21 14:21:20

你好,这是全部的代码吗?isLeapYear并没有这个闰年的判断哦,建议把这部分的代码也粘贴过来,便于测试与解决问题。

祝学习愉快~

  • 提问者 慕粉150949629 #1
    我好像只能一段段的粘贴 //闰年判断函数 function isLeapYear(y){ //判断是否为闰年,闰年:是4的倍数并且不是100的倍数,或者是400的倍数的年份是闰年 if(y%4==0 && y%100!=0){ return true; }else if(y%400==0 ){ return true; }else{ return false; } }
    2017-11-21 14:24:52
  • 提问者 慕粉150949629 #2
    我重新问一次,把所有js代码都贴上试试
    2017-11-21 14:28:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师