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


0
heibo_丿___Pan_0
h 哦。。。。好吧,知道了~~
h017-06-29
共2条回复

0 学习 · 36712 问题

查看课程