为啥输出的为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 星