女朋友考js,其中一个题目是要求输入年月,js计算出这个月有多少天,必须使用switch写法。正常的写法是switch(m)case1…….case12。我刚开始也是这样写的,然后….被女朋友嘲讽了,说明明1、3、5、7、8、10、12月都是同样的天数,为什么要重复写那么多呢?好尴尬……我能说复制粘贴很快吗?
最简洁的写法:
复制
<script>
function tsjs(year,m){
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10 :
case 12:
alert("31");
break;
case 2:
if (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0))
{alert("28");} else{alert("29");}
break;
case 4:
case 6:
case 9:
case 11:
alert("30");
break;
default:
alert("请输入正确的月份!");
}
}
window.onload = tsjs(2018,9);
</script>满足条件后输出相同的内容,可以将所有一样的条件写在一起,最后写一个输出即可。重点在break!





评论 (0)