为啥输出的为undefined天?
function getDay(year,month,date){ var sum; if ((year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) && month > 2) { switch(month){ case 1: sum=day; break; case 2: sum=31+day; break; case 3: sum=60+day; break; case 4: sum=91+day; break; case 5: sum=121+day; break; case 6: sum=152+day; break; case 7: sum=182+day break; case 8: sum=213+day; break; case 9: sum=244+day; break; case 10: sum=274+day; break; case 11: sum=305+day; break; case 12: sum=335+day; } } else { switch(month){ case 1: sum=day; break; case 2: sum=30+day; break; case 3: sum=59+day; break; case 4: sum=90+day; break; case 5: sum=120+day; break; case 6: sum=151+day; break; case 7: sum=181+day break; case 8: sum=212+day; break; case 9: sum=243+day; break; case 10: sum=273+day; break; case 11: sum=304+day; break; case 12: sum=334+day; } } return sum; } function getBirth(){ var year=parseInt(prompt("请输入您的出生年份:")), month=parseInt(prompt("请输入您的出生月份:")), date=parseInt(prompt("请输入您的出生日期:")), day=getDay(); document.write('您的生日在'+year+"年是"+day+'天'); } getBirth();
35
收起
正在回答
2回答
你的方法调用没有传参数
Observer1
2017-07-20 19:57:57
帮楼主调试了一下,发现是函数中的局部变量day没有声明and定义,定义为0并且在下面的函数里传入year,month,date就可以了。另外,判断闰年不需要判断月份是否大于2,那么1月份岂不是根本无法进入switch了吗?还有,不是闰年的情况里2月的话应该加上31不是加30,1月有31天噢。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> function getDay(year,month,date){ var sum, day=0; if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { switch(month){ case 1: sum=day; break; case 2: sum=31+day; break; case 3: sum=60+day; break; case 4: sum=91+day; break; case 5: sum=121+day; break; case 6: sum=152+day; break; case 7: sum=182+day break; case 8: sum=213+day; break; case 9: sum=244+day; break; case 10: sum=274+day; break; case 11: sum=305+day; break; case 12: sum=335+day; } } else { switch(month){ case 1: sum=day; break; case 2: sum=31+day; break; case 3: sum=59+day; break; case 4: sum=90+day; break; case 5: sum=120+day; break; case 6: sum=151+day; break; case 7: sum=181+day break; case 8: sum=212+day; break; case 9: sum=243+day; break; case 10: sum=273+day; break; case 11: sum=304+day; break; case 12: sum=334+day; } } return sum; } function getBirth(){ var year=parseInt(prompt("请输入您的出生年份:")), month=parseInt(prompt("请输入您的出生月份:")), date=parseInt(prompt("请输入您的出生日期:")), day=getDay(year, month, date); document.write('您的生日在'+year+"年是"+day+'天'); } getBirth(); </script> </body> </html>
HTML5与CSS3实现动态网页 2018
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星