1.问题描述
在弹框中依次输入任意年份,月份,天数,然后在页数显示是输入年份的第几天
2.解题思路
(1)数据类型的获取问题(三个弹框依次输入任意年份,月份,天数)
(2)判断年份是否为闰年
(3)然后利用switch语句输出年份的第几天
3.每步骤的代码
(1)数据类型的获取问题
var year=parseInt(prompt("请输入年份"))
var month=parseInt(prompt("请输入月份"))
var day=parseInt(prompt("请输入日份"))
(2)判断年份是否为闰年
function number2(year){
if((year%4==0&&year%100!=0)||year%400==0){
return true;
}
else{
return false;
}
(3)然后利用switch语句输出年份的第几天
function number(year,month,day){
var days=0
switch(month){
case 12:
days+=30
case 11:
days+=31
case 10:
days+=30
case 9:
days+=31
case 8:
days+=31
case 7:
days+=30
case 6:
days+=31
case 5:
days+=30
case 4:
days+=31
case 3:
days+=28
case 2:
days+=31
case 1:
days+=day
break;
default:
break;
}
if(number2(year)){
days+=1
}
return days
}
4.重难点总结
1.首先容易忽视闰年2月份为29天,而平常为28天,所以利用函数判断年份是否为闰年,若为闰年天数加一
2.正确运用switch语句
switch的一般形式如下:switch (表达式){ case 常量表达式1: 语句1 case 常量表达式
5.完整代码
function number2(year){
if((year%4==0&&year%100!=0)||year%400==0){
return true;
}
else{
return false;
}
}
function number(year,month,day){
var days=0
switch(month){
case 12:
days+=30
case 11:
days+=31
case 10:
days+=30
case 9:
days+=31
case 8:
days+=31
case 7:
days+=30
case 6:
days+=31
case 5:
days+=30
case 4:
days+=31
case 3:
days+=28
case 2:
days+=31
case 1:
days+=day
break;
default:
break;
}
if(number2(year)){
days+=1
}
return days
}
var year=parseInt(prompt("请输入年份"))
var month=parseInt(prompt("请输入月份"))
var day=parseInt(prompt("请输入日份"))
document.write(number(year,month,day))