请老师看看有什么问题
<!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 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星