出现未知的错误,有点懵,不知道怎么怎么改
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
var year=prompt("请输入您的出生年份:");
var month=prompt("请输入您的出生月份:");
var Date=prompt("请输入您的出生日期:");
//判断年份,年份正确就调用月份函数,不对则提示重新输入
function isYear(){
if(year.length==4)
{
if((year%4==0&&year%100!=0)||year%400==0)
return isMonth1(month);
else
return isMonth2(month);
}
else
return year=prompt("您输入的不正确,请重新输入您的出生年份");
}
isYear(year);
//月份函数,判断输入的月份是否正确,正确则调用日期函数,否则提示重新输入月份
function isMonth1(){
switch(month)
{
case 1:return isDate1(1,Date);
break;
case 2:return isDate1(2,Date);
break;
case 3:return isDate1(3,Date);
break;
case 4:return isDate1(4,Date);
break;
case 5:return isDate1(5,Date);
break;
case 6:return isDate1(6,Date);
break;
case 7:return isDate1(7,Date);
break;
case 8:return isDate1(8,Date);
break;
case 9:return isDate1(9,Date);
break;
case 10:return isDate1(10,Date);
break;
case 11:return isDate1(11,Date);
break;
case 12:return isDate1(12,Date);
break;
default: return month=prompt("请重新输入月份:")
break;
}
}
isMonth1(month);
function isMonth2(){
switch(month)
{
case 1:return isDate2(1,Date);
break;
case 2:return isDate2(2,Date);
break;
case 3:return isDate2(3,Date);
break;
case 4:return isDate2(4,Date);
break;
case 5:return isDate2(5,Date);
break;
case 6:return isDate2(6,Date);
break;
case 7:return isDate2(7,Date);
break;
case 8:return isDate2(8,Date);
break;
case 9:return isDate2(9,Date);
break;
case 10:return isDate2(10,Date);
break;
case 11:return isDate2(11,Date);
break;
case 12:return isDate2(12,Date);
break;
default: return month=prompt("请重新输入月份:")
break;
}
}
isMonth2(month);
//计算闰年的函数
function isDate1(a,b){
switch(a)
{
case 1:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+b+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 2:
if(b<=29&&b>=0)
return document.write("您的生日是在"+year+"的第"+"31+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 3:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"60+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 4:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"91+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 5:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"121+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 6:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"152+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 7:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"182+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 8:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"213+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 9:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"244+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 10:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"274+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 11:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"305+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 12:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"335+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
}
isDate1(month,Date);
//计算平年的函数
function isDate2(a,b){
switch(a)
{
case 1:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+b+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 2:
if(b<=28&&b>=0)
return document.write("您的生日是在"+year+"的第"+"31+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 3:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"59+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 4:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"90+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 5:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"120+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 6:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"151+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 7:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"181+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 8:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"212+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 9:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"243+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 10:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"273+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 11:
if(b<=30&&b>=0)
return document.write("您的生日是在"+year+"的第"+"304+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
case 12:
if(b<=31&&b>=0)
return document.write("您的生日是在"+year+"的第"+"334+b"+"天");
else
return Date=prompt("您输入的日期不正确");
break;
}
isDate2(month,Date);
</script>
</head>
<body>
nihao
</body>
</html>
正在回答 回答被采纳积分+1
你好,1、报错是因为函数isDate1()与isDate2()后面均少一个}
2、年月日输入的是字符串,但是在switch语句中判断的时候是字符串,所以这里可取整下,例:
var month = parseInt(prompt("请输入您的出生月份:")); var te = parseInt(prompt("请输入您的出生日期:"));
3、下面的计算以及输出思路有些混乱,且如下,"59+b"值字符串会原样输出的哟。
document.write("您的生日是在" + year + "的第" + "59+b" + "天");
4、isMonth2(month);与isMonth1(month);都调用了,这样的话,不管输入的是平年还是闰年都会执行一遍的哟,建议:把闰年的判断与之分离开。
5、这里Date为关键字,建议:最好可以换一个变量。
6、没有闰年的判断是没有办法自动判断闰年的哟,判断年份是否是闰年,需满足下列条件之一(两个条件同时存在,一个为真即可):
(1) 年份能整除4但是不能整除100
(2) 年份能整除400
7、建议:把日期的判断与天数的计算输出分开,先不判断日期,只计算天数与最后的输出,正确输入后在尝试添加日期判断。
祝学习愉快~
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星