作业点评问题
来源: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
目前这个作业中我们没有对年和月进行计算,只是对日期进行了相加,所以按照你的写法是没有问题的,但是如果一旦涉及到计算的话,将网页中输入的数据进行数字的转换,还是很有必要的!所以老师给出的是建议,这样写也会比较严谨。
祝学习愉快!
相似问题