为什么使用switch无法实现if else 相同的结果?
图中使用注释掉的 if else 是想要的结果
swith为什么不可以?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input id="year" type="number" placeholder="年">
<input id="month" type="number" placeholder="月">
<button id="btn">确认</button>
<div id="tian">本月天数为:</div>
</body>
<script>
btn.onclick = function(){
var nYear = +year.value;
var nMonth = +month.value;
switch(nMonth){
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
tian.innerHTML = "本月天数为:31天";
break;
case 4 :
case 6 :
case 9 :
case 11 :
tian.innerHTML = "本月天数为:30天";
break;
case 2 :
switch(nMonth){
case ((nYear % 4 == 0) && (nYear % 100 != 0)) :
case (nYear % 400 == 0) :
tian.innerHTML = "本月天数为:29天";
break;
default :
tian.innerHTML = "本月天数为:28天";
}
// if((nYear % 400 == 0) || ((nYear % 4 == 0) && (nYear % 100 != 0))){
// tian.innerHTML = "本月天数为:29天";
// }else{
// tian.innerHTML = "本月天数为:28天";
// }
break;
}
}
</script>
</html>