switch语句重写if语句
要求用switch重写if else if else语句,要求提示用户输入月份,而不是直接赋值。
原代码:
<script type=text/javascript> month=8; if(month==1){ alert("January"); else if(month==8){ alert("August"); } else{ alert("没有合适的条件") } </script>
重写后代码:
<script type=text/javascript> var month=parseInt(prompt("请输入月份","")); switch(month){ case 1: alert("January"); break; default: alert("请检查是否输入为1-12的数字"); break; } </script> /* prompt输入的是字符串,所以要通过parseInt把输入的字符串转换为数字类型 */
完善后的代码:
<script type=text/javascript> var month=prompt("请输入月份","")-0; if(month==""){ alert("不能为空"); } else if(isNaN(month)){ alert("只可以输入数字"); } else{ switch(month){ case 1: alert("January"); break; default: alert("请检查是否输入为1-12的数字"); break; }; };
</script>
/*
解释: -0为隐性转义,把字符串转换为数字类型。
else if(isNaN(month)) 检测输入不是数字的话就提示。
当要进行二选一的时候就用if else ,条件为真就执行if后面的语句,为假就执行else后面的语句
当可能有多种情况的时候用if else if else ,条件为真就执行if后面的语句,为假就执行else if语句,都为假就执行else
*/