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在页面上识别是没有定义的,所以浏览器出不来。
相似问题