1-11 作业
来源:1-20 作业题
NanAyo
2017-06-16 13:18:06
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> function myFun() { var year=parseInt(prompt("请输入您的出生年份")), month=parseInt(prompt("请输入您的出生月份")), day=parseInt(prompt("请输入您的出生日期")); var m1=31,m2=28,m3=31,m4=30,m5=31,m6=30, m7=31,m8=31,m9=30,m10=31,m11=30,m12=31; var num=0; if(year%4==0 && year%100!=0 || year%400==0) { m2=29; } else { m2=28; } switch(month) { case 1: num=day; break; case 2: num=m1; break; case 3: num=m1+m2; break; case 4: num=m1+m2+m3; break; case 5: num=m1+m2+m3+m4; break; case 6: num=m1+m2+m3+m4+m5; break; case 7: num=m1+m2+m3+m4+m5+m6; break; case 8: num=m1+m2+m3+m4+m5+m6+m7; break; case 9: num=m1+m2+m3+m4+m5+m6+m7+m8; break; case 10: num=m1+m2+m3+m4+m5+m6+m7+m8+m9; break; case 11: num=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10; break; case 12: num=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11; break; } if(month==1) { num=day; } else { num+=day; } return num; } console.log(myFun()); //可以在控制台打印出结果 document.write("您的生日在"+year+"年是第"+num+"天"); //浏览器不显示是什么问题?哪里出错了? </script> </body> </html>
3回答
慕粉3238220
2017-06-16
下边我把正确代码给你:
function myFun()
{
var year=parseInt(prompt("请输入您的出生年份")),
month=parseInt(prompt("请输入您的出生月份")),
day=parseInt(prompt("请输入您的出生日期"));
var m1=31,m2=28,m3=31,m4=30,m5=31,m6=30,
m7=31,m8=31,m9=30,m10=31,m11=30,m12=31;
if(year%4==0 && year%100!=0 || year%400==0)
{
m2=29;
}
else
{
m2=28;
}
switch(month)
{
case 1:
num=day;
break;
case 2:
num=m1;
break;
case 3:
num=m1+m2;
break;
case 4:
num=m1+m2+m3;
break;
case 5:
num=m1+m2+m3+m4;
break;
case 6:
num=m1+m2+m3+m4+m5;
break;
case 7:
num=m1+m2+m3+m4+m5+m6;
break;
case 8:
num=m1+m2+m3+m4+m5+m6+m7;
break;
case 9:
num=m1+m2+m3+m4+m5+m6+m7+m8;
break;
case 10:
num=m1+m2+m3+m4+m5+m6+m7+m8+m9;
break;
case 11:
num=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10;
break;
case 12:
num=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11;
break;
}
if(month==1)
{
num=day;
}
else
{
num+=day;
}
document.write("您的生日在"+year);
return num;
}
//console.log(myFun()); //可以在控制台打印出结果
document.write("年是第"+myFun()+"天"); //浏览器不显示是什么问题?哪里出错了?
小于飞飞
2017-06-16
你好,document.write("您的生日在"+year+"年是第"+num+"天"); 这个报错,是因为 year、num 定义在 函数里,是局部变量,所以函数外访问不了。解决方法:在函数外定义这个变量,函数里直接使用,或者函数内定义时,不加 var,建议第一种,希望对你有帮助,祝学习愉快,欢迎采纳。
慕粉3238220
2017-06-16
函数包装起来以后 的参数外部是不能用的,所以 “ document.write("您的生日在"+year+"年是第"+num+"天");” 中,year和num在页面上识别是没有定义的,所以浏览器出不来。
相似问题