问答详情
源自:4-4 多种选择(Switch语句)

关于case值:case的值是什么类型的,如果case值与myweek的值仅仅是类型不一样,能够匹配吗?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>switch</title>
<script type="text/JavaScript">
var myweek = prompt("日程安排:");//myweek表示星期几变量
switch(myweek)
{
 case 1:
 case 2:
 document.write("学习理念知识");
 break;
 case 3:
 case 4:
 document.write("到企业实践");
 break;
 case 5:
 document.write("总结经验");
 case 6:
 case 7:
 document.write("周六、日休息和娱乐");
break;
 default:break;
}
</script>
</head>
<body>
</body>
</html>

case的值是什么类型的,如果case值与myweek的值的类型不一样,能够匹配吗?还有这里弹出窗口输入数值后,好像没啥反应了?大神们能帮忙看看吗?

提问者:流浪的白小菜 2019-10-05 21:05

个回答

  • ly今夕何夕
    2019-10-13 08:00:27
    已采纳

    prompt里你输入的不管是数字还是其他符号,它都会当成字符串的类型,如果你实在想要用prompt的话,
    
    你可以使用字符串转换成int的方法 不过只能转化被当成 字符串的纯数字(如:var num=“5”);
    
    方法:parseInt([String]);
    
         var myweek = parseInt([prompt("日程安排:")]);
         
     把你的prompt("日程安排:") 放进去!  
         
     想好看点的话 就创建第二个变量接收也行:
             var myweek = prompt("日程安排:"); 
             var myweek1 = parseInt([myweek]);
     最后说一下,你的case5 后面忘记了写break;

  • 阳火锅
    2019-10-07 09:29:30

    switch就是条件判断,case冒号后面的参数相对于条件..  通俗讲就是满足条件后进判断..

    你代码没执行是因为你case后面的条件  都必须打上引号  ,例如: case: ' 1 '

    为什么要打引号呢.. 因为你输入框输入的值是字符串  不是数字。。

  • sdarks
    2019-10-06 09:54:02

    case 1的1为number;case "1"的1为string。你弹出窗口得到的值是string类型,所以必须将case后面的值加""。