不知道哪里出了问题,打开是一片空白
来源:1-20 作业题
杨杨杨__
2018-09-13 20:46:04
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>计算日期</title>
</head>
<body>
<script>
function getBirthday(){
var myYear=parseInt(prompt("请输入你的出生年份:"));
var myMonth=parseInt(prompt("请输入你的出生月份:"));
var myDay=parseInt(prompt("请输入你的出生日期:"));
var mon[]={0,31,29,31,30,}
31,30,31,31,30,31,30,31};
var dayNum=0;
if(myMonth<mon.length){
for(;myMonth>=1;myMonth--){
dayNum=dayNum+mon[myMonth-1];
}
dayNum=dayNum+myDay;
}
if(myYear % 4 ==0 && myYear % 100 !=0 || myYear % 400 ==0){
if(myMouth > 2){
return dayNum +1; }
else{
return dayNum;}
}
return dayNum;
}
}
last=getBirthday();
document.write("你的生日是+myYear+的第+last+天。");
</script>
</body>
</html>
1回答
好帮手慕星星
2018-09-14
1、标点符号的错误:

应该是英文状态下的标点符号哦。
2、定义数组的方式错误:

用[]定义的是数组,用{}定义的是对象哦。并且你的2月份直接写的是29天,这是闰年下的天数,后面输出的时候还加了1天,这是不对的哦,正确的应该是:

3、最后多了一个花括号:

去掉就可以了。
4、建议将三个弹窗输入的代码放在函数的外面,如果放在函数里面,最后输出的时候,是拿不到函数里面的变量的。
5、最后输出的时候有问题,你直接输出的是字符串:

应该要拼接起来:

6、单词错误:

应该是myMonth。
7、for循环代码处有问题:

假如月份输入的是3,经过for循环之后月份就变成了0,然后再进入下面的是否是闰年的判断,月份始终是0,不是开始输入的月份了,那么最后的天数也不会加1 。自己修改下for循环逻辑。
祝学习愉快~~
相似问题