老师为什么我F12的时候网页是空白页JS写的有问题还是?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS作业</title>
</head>
<body>
<script type=java/script>
function caculate(){
var year=prompt("请输入您出生的年份"),
months1=new Array(31,29,31,30,31,30,31,31,30,31,30,31),//定义闰年12个月每月天数的数组//
months2=new Array(31,28,31,30,31,30,31,31,30,31,30,31),//定义非闰年12个月每月天数的数组//
daysSum=0;//出生日期为该年的第N天。//
while(0 > year || isNaN(year)){//判断输入的出生年是否合法,如是否为数字以及是否大于0,直到输入的数据合法时退出循环。此处特别注意两个条件要使用逻辑或来连接,因为要两个条件同为假(year>0)且为数字的时候才能跳出循环,使用逻辑与的话两者有一个不成立即可跳出循环,导致数据的检查不严谨。//
alert("请输入合法的年份");
var year=prompt("请输入您出生的年份");
}
if(year%4==0){//判断输入的年份是否为闰年。//
var month=prompt("请输入您出生的月份");
while(0 >= month || month>12 || isNaN(month)){//判断输入的出生月份是否合法,条件同样使用逻辑或连接道理同第12行代码出生年的判断。//
alert("请输入合法的月份");
var month=prompt("请输入您出生的月份");
}
if(month==1){//判断是否为1月份出生,若是则出生天数不会将1月份整月算入其中(直接取months1[0]的值)然后输入出生日期即可得出是再该年第几天出生。//
var dates=prompt("请输入您出生的日期");
while(0 >= dates || dates>31 || isNaN(dates)){//判断输入的出生日期是否合法。//
alert("请输入合法的日期");
var dates=prompt("请输入您出生的日期");
}
daysSum+=dates;
return daysSum;
}
else{//出生月份不为1月份,将出生月前的所有月份的天数相加然后与出生月的日期相加即可得到出生日期为该年的哪一天//
for(var a=0;a<month;a++){//将出生月之前所有月份的天数累加起来。//
daysSum+=months1[a];
return daysSum;
}
var dates=prompt("请输入您出生的日期");//输入出生日期与累加后的daysSum求和即得出出生天数。//
while(0 >= dates || dates>months1[month-1] || isNaN(dates)){//判断输入的出生日期是否合法,如出生日期是否大于0以及小于当月的最末天数,此处数组下标使用month-1,因为数组的下标从0开始,实际输入的月份想访问到对应的数组在数组内必须将输入的数据-1才可以。//
alert("请输入合法的日期");
var dates=prompt("请输入您出生的日期");
}
daysSum+=dates;
return daysSum;
}
}
else{//不是闰年//
var month=prompt("请输入您出生的月份");
while(0 >= month || month>12 || isNaN(month)){
alert("请输入合法的月份");
var month=prompt("请输入您出生的月份");
}
if(month==1){//判断是否为1月份出生,若是则出生天数不会将1月份整月算入其中(直接取months1[0]的值)然后输入出生日期即可得出是再该年第几天出生。//
var dates=prompt("请输入您出生的日期");
while(0 >= dates || dates>31 || isNaN(dates)){
alert("请输入合法的日期");
var dates=prompt("请输入您出生的日期");
}
daysSum+=dates;
return daysSum;
}
else{//出生月份不为1月份,将出生月前的所有月份的天数相加然后与出生月的日期相加即可得到出生日期为该年的哪一天//
for(var a=0;a<month;a++){//将出生月之前所有月份的天数累加起来。//
daysSum+=months1[a];
return daysSum;
}
var dates=prompt("请输入您出生的日期");//输入出生日期与累加后的daysSum求和即得出出生天数。//
while(0 >= dates || dates>months2[month-1] || isNaN(dates)){//判断输入的出生日期是否合法,如出生日期是否大于0以及小于当月的最末天数,此处数组下标使用month-1,因为数组的下标从0开始,实际输入的月份想访问到对应的数组在数组内必须将输入的数据-1才可以。//
alert("请输入合法的日期");
var dates=prompt("请输入您出生的日期");
}
daysSum+=dates;
return daysSum;
}
}
caculate();
</script>
</body>
</html>
正在回答 回答被采纳积分+1
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星