1:使用函数完成给定日期2024 04 20这一天是本年中的第几天
2:1:解决给定日期 和输入月份天数
2:判断是否是闰年
3:写出一年中每个月份的天数并依次相加
4:函数的调用
3: 1:解决给定日期 和输入月份天数
var year=2024
// 转换数据类型
var month=parseInt(prompt("请输入月份:"))
var day=parseInt(prompt("请输入天数:"))
2:判断是否是闰年
function isLeapYear(year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true
} else {
return false
}
}
3:写出一年中每个月份的天数并依次相加
函数的定义
运用switch case语句
function getDayByDate(year, month, day) {
// 定义一个总天数
var days = 0
switch (month) {
case 12:
// 11月的天数
days += 30
case 11:
// 10月的天数
days += 31
case 10:
// 9月的天数
days += 30
case 9:
// 8月的天数
days += 31
case 8:
// 7月的天数
days += 31
case 7:
// 6月的天数
days += 30
case 6:
// 5月的天数
days += 31
case 5:
// 4月的天数
days += 30
case 4:
// 3月的天数
days += 31
case 3:
// 2月的天数
// 判断是否是闰年如果是闰年就=29天
days +=isLeapYear(year)?29:28
case 2:
// 1月的天数
days += 31
case 1:
// 当前月份
days += day
break;
default:
break;
}
return days
}
4:函数的调用
document.write(getDayByDate(year,month,day))
4:重难点:switch case语句的运用
5:源码
<script>
// 使用函数完成给定日期2024 04 20这一天是本年中的第几天
// 2:判断是否是闰年
function isLeapYear(year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true
} else {
return false
}
}
// 3:写出一年中每个月份的天数并依次相加
// 函数的定义
function getDayByDate(year, month, day) {
// 定义一个总天数
var days = 0
switch (month) {
case 12:
// 11月的天数
days += 30
case 11:
// 10月的天数
days += 31
case 10:
// 9月的天数
days += 30
case 9:
// 8月的天数
days += 31
case 8:
// 7月的天数
days += 31
case 7:
// 6月的天数
days += 30
case 6:
// 5月的天数
days += 31
case 5:
// 4月的天数
days += 30
case 4:
// 3月的天数
days += 31
case 3:
// 2月的天数
// 判断是否是闰年如果是闰年就=29天
days +=isLeapYear(year)?29:28
case 2:
// 1月的天数
days += 31
case 1:
// 当前月份
days += day
break;
default:
break;
}
return days
}
// 1:解决给定日期 和输入月份天数
var year=2024
// 转换数据类型
var month=parseInt(prompt("请输入月份:"))
var day=parseInt(prompt("请输入天数:"))
// 4:函数的调用
document.write(getDayByDate(year,month,day))
</script>