女朋友考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)