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()+"天"); //浏览器不显示是什么问题?哪里出错了?

0

小于飞飞

2017-06-16

你好,document.write("您的生日在"+year+"年是第"+num+"天"); 这个报错,是因为 year、num 定义在 函数里,是局部变量,所以函数外访问不了。解决方法:在函数外定义这个变量,函数里直接使用,或者函数内定义时,不加 var,建议第一种,希望对你有帮助,祝学习愉快,欢迎采纳。

0

慕粉3238220

2017-06-16

 函数包装起来以后 的参数外部是不能用的,所以 “  document.write("您的生日在"+year+"年是第"+num+"天");”   中,year和num在页面上识别是没有定义的,所以浏览器出不来。

0

0 学习 · 36712 问题

查看课程

相似问题