作业点评问题

来源:1-20 作业题

vampire小奇

2017-03-13 14:42:32

<script type="text/javascript">
    var year = prompt("请输入您的出生年份");
    var month = prompt("请输入您的出生月份");
    var day = prompt("请输入您的出生日期");
    document.write("您的生日在" + year + "年" + count(year, month, day) + "天")

    function isLeapYr(yr) {
        //判断闰年
        return (yr % 4 === 0 && yr % 100 !== 0) || (yr % 100 === 0 && yr % 400 === 0);
    }
    function count(y, m, d) {
        var mdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
        var mSum = 0;
        var sum = 0;

        //如果是闰年的话,那么2月份就应该有29天
        isLeapYr(y) ? mdays[1] = 29 : mdays[1];
        //计算该月份之前的总天数,比如m=3,那么就计算1和2月的总天数
        for (var i = 0; i < m - 1; i++) {
            mSum += mdays[i];
        }
        //加上当月天数
        sum = mSum + parseInt(d);
        return sum;
    }
    </script>

老师作业里有一点点评是:

网页中输入的数字均是字符串,所以年和月也要进行转换,而不只是对输入的日期进行数字类型的转换。


我不太明白的是年和月为什么要做转换?代码里不是已经隐式的转换了么?




写回答

1回答

小丸子爱吃菜

2017-03-13

目前这个作业中我们没有对年和月进行计算,只是对日期进行了相加,所以按照你的写法是没有问题的,但是如果一旦涉及到计算的话,将网页中输入的数据进行数字的转换,还是很有必要的!所以老师给出的是建议,这样写也会比较严谨。

祝学习愉快!

0

0 学习 · 5760 问题

查看课程