1-14作业
实在是不会了,帮忙看一下,改一下。现在一点思路都没有了。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>arguments</title> </head> <body> <script> function data(){ var year,month,date; while(year==undefined){ year=prompt("请输入您的出生年份"); } while(year.length!==4){ alert("输入错误,请重新输入"); year=prompt("请重新输入您的出生年份"); } month=prompt("请输入您的出生月份"); while(month<1 || month>12){ alert("输入错误,请重新输入"); month=prompt("请重新输入您的出生月份"); } date=prompt("请输入您的出生日期"); while(date<1 || date>31){ alert("输入错误,请重新输入"); date=prompt("请重新输入您的出生日期"); } } function days(){ if(year%4=0 && year%100!=0 || year%400=0){ var sum=0,monthdays=[31,29,31,30,31,30,31,31,30,31,30,31],i; for(i=0;i<month-1;i++){ sum+=monthdays[i]; } }else{ var sum=0,monthdays=[31,28,31,30,31,30,31,31,30,31,30,31],i; for(i=0;i<month-1;i++){ sum+=monthdays[i]; } } data(); days(); var years=parseInt(year),sums=parseInt(sum+date); document.write("您的生日在"+years+"年的第"+sums+"天"); </script> </body> </html>
正在回答
我测试了你的代码,有以下几个问题:
(1)你的days()函数缺少一个闭合的花括号,导致程序无法运行。
(2)判断是否为闰年的地方错误:
判断年份你用了一个等号,一个等号是赋值,两个和三个等号为判断。
(3)程序运行到var years=parseInt(year),sums=parseInt(sum+date);这一步时会报错:year没有定义,因为你的year是在data函数中定义的,是局部变量,外面是用不了的。并且你的sum也是在days()函数中局部定义的,这样直接用都是不可以的。
(4)这有我给你修改的代码,可以看一下:
<script>
var year=prompt("请输入您的出生年份");
while (year.length != 4) {
alert("输入错误,请重新输入");
year = prompt("请重新输入您的出生年份");
}
var month = parseInt(prompt("请输入您的出生月份"));
while (month < 1 || month > 12) {
alert("输入错误,请重新输入");
month = parseInt(prompt("请重新输入您的出生月份"));
}
var date = parseInt(prompt("请输入您的出生日期"));
while (date < 1 || date > 31) {
alert("输入错误,请重新输入");
date = parseInt(prompt("请重新输入您的出生日期"));
}
year = parseInt(year);
function days() {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
var days = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
} else {
var days= new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
}
for (var i = 0; i < month - 1; i++) {
date += days[i];
}
}
days();
document.write("您的生日在" + year + "年的第" + date + "天");
</script>
如果还有什么问题,你可以提交作业给老师的呀!或者我们可以一起交流!盆友(#^.^#)
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星