首先来分析一下满足闰年的条件:四年一闰,百年不闰,四百年再闰。也就是说,每4年就是一个闰年,但是当年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的年份,即使是4的倍数也不是闰年。
使用JS实现的代码及注释如下:
function isLeapYear(year) {var cond1 = year % 4 == 0 //条件1:年份必须要能被4整除
var cond2 = year % 100 != 0 //条件2:年份不能是整百数
var cond3 = year % 400 ==0 //条件3:年份是400的倍数
//当条件1和条件2同时成立时,就肯定是闰年,所以条件1和条件2之间为“与”的关系。
//如果条件1和条件2不能同时成立,但如果条件3能成立,则仍然是闰年。所以条件3与前2项为“或”的关系。
//所以得出判断闰年的表达式:
var cond = cond1 && cond2 || cond3
if(cond) {
alert(year + "是闰年")
return true
} else {
alert(year + "不是闰年")
return false
}
}
<script type="text/javascript">var year=prompt("请输入年份")//弹出输入框
var a1=year%4==0
var a2=year%100!=0
var a3=year%400==0
var result=(a1&&a2)||a3?"该年是闰年":"该年的平年"//三目运算符
alert(result)
</script>