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

*/

 

 

posted @ 2012-08-06 16:07  yexingwen  阅读(874)  评论(0编辑  收藏  举报