1-11作业问题:
来源:1-12 arguments
weibo_丿___Pan_0
2017-06-28 17:18:06
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JavaScript</title> </head> <body> <script type="text/javascript"> function birthdayYear(){ var year; while(1){ year=prompt("请输入您的出生年份:"); if(isNaN(year)){ alert("请输入数字年份"); continue; } else if (year.length!=4) { alert("请输入四位数字的年份"); continue; }; return year; } } function birthdayMonth(){ var month; while(2){ month=prompt("请输入您的出生月份:"); if(isNaN(month)){ alert("请输入数字月份"); continue; } else if (month.length!=2||month>=13||month<0) { alert("请输入两位数字有效月份"); continue; }; return month; } } function birthday(){ var year,month,day; year=birthdayYear(); month=birthdayMonth(); while(3){ day=prompt("请输入您的出生日期:"); if(isNaN(day)){ alert("请输入数字的日期"); continue; } else if (day.length!=2) { alert("请输入两位数字的日期"); continue; }; switch(month){ case "01": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "03": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "05": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "07": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "08": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "10": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "12": {if(day>=1&&day<=31){ return day; }else {alert("请输入两位数字有效日期"); continue; } }break; case "04" :{ if (day>=1&&day<=30) return day; else{ alert("请输入两位数字有效日期"); continue; } }break; case "06" :{ if (day>=1&&day<=30) return day; else{ alert("请输入两位数字有效日期"); continue; } }break; case "09" :{ if (day>=1&&day<=30) return day; else{ alert("请输入两位数字有效日期"); continue; } }break; case "11" :{ if (day>=1&&day<=30) return day; else{ alert("请输入两位数字有效日期"); continue; } }break; case "02": {if((year%4==0)&&(year%400==0)&&(year%3200!==0)&&(day>=1&&day<=29)) return day; else if (day>=1&&day<=28) return day; else{ alert("请输入有效日期"); continue; } }; } } } var years,months,days; years=birthdayYear(); months=birthdayMonth(); days=birthday(); document.write("您的出生日期是"+years+"年"+months+"月"+days+"日"); </script> </body> </html>
为什么我的代码中brithday函数调用其他两个函数并不是调用返回值,而是调用了一整个函数;还有再brithday函数中能不能有合并的方法?
求高手救命!!!我已经喊 破喉咙了,还有之前的一个问题也是加急!
1回答
怎么都被占用了呢
2017-06-28
你的思路有些混乱,代码也是繁琐。可以参考该思路:首先声明3个全局变量用来接收年月日的值,第二步判断格式,将正确格式的值赋值给全局变量,第三步计算日期,可以使用switch实现:
1、当出生月分是1时,出生的第几天就是用户输入的日期;
2、当月份是2时,出生的第几天就是1月份的天数加上2月份出生的日期,以此类推。
2月可以先设为28天,判断过闰年之后,总天数加1
相似问题