请老师看看有什么问题
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js计算自己出生那天是该年当中第几天</title>
<script type="text/javascript">
/* 定义变量 */
var year, month,day;
/* 输入框弹窗的函数 */
function input() {
year = prompt("请输入您的出生年份");
month = prompt("请输入您的出生月份");
day = prompt("请输入您的出生日期");
if (month > 12 || month < 1 || day > 31 || day < 1) {
alert("输入错误!");
}
}
/* 计算天数的函数 */
function myFunction(year, month, day) {
year = parseInt(year);
month = parseInt(month);
day = parseInt(day);
var count = day; // 这里先将日期的天数赋值给count,例如,输入的日期为6.30, 则将30赋值给count,这样只要再将count依次加上1~5月份的天数即可算出在全年的第几天
/* 计算天数 */
for (var i = 1; i < month; i++) { // i从1开始,如果输入的month为1,则不执行循环
if (i ==1 || i ==3 || i ==5 || i ==7 || i ==8 || i ==10 || i ==12) {
count = count + 31;
}
if (i == 2) {
count = count + 28;
}
if (i ==4 || i ==6 || i ==9 || i ==11) {
count = count +30;
}
}
/* 判断是否是闰年 */
if ( (year % 100 != 0 && year % 4 == 0 ) || (year % 100 == 0 && year % 400 == 0)) {
if (month > 2) { // 如果是闰年,并且月份大于2
count=count + 1;
}
}
return count; // 返回计算结果count
}
input();
var n = myFunction(year, month, day); // 存储myFunction返回的值
document.write("您的生日在"+year+"年是第"+n+"天");
</script>
</head>
<body>
</body>
</html>74
收起
正在回答
4回答
功能没有问题,但是条件中的这一块 (year % 100 == 0 && year % 400 == 0) 写的有点冗余,除以400能正处就可以了,不用再除以100了。
虽然效果没有问题,但是你的写法不是很好,比较麻烦,可以使用数组的形式来试试。祝学习愉快!
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星