<!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的值的类型不一样,能够匹配吗?还有这里弹出窗口输入数值后,好像没啥反应了?大神们能帮忙看看吗?
prompt里你输入的不管是数字还是其他符号,它都会当成字符串的类型,如果你实在想要用prompt的话, 你可以使用字符串转换成int的方法 不过只能转化被当成 字符串的纯数字(如:var num=“5”); 方法:parseInt([String]); var myweek = parseInt([prompt("日程安排:")]); 把你的prompt("日程安排:") 放进去! 想好看点的话 就创建第二个变量接收也行: var myweek = prompt("日程安排:"); var myweek1 = parseInt([myweek]); 最后说一下,你的case5 后面忘记了写break;
switch就是条件判断,case冒号后面的参数相对于条件.. 通俗讲就是满足条件后进判断..
你代码没执行是因为你case后面的条件 都必须打上引号 ,例如: case: ' 1 '
为什么要打引号呢.. 因为你输入框输入的值是字符串 不是数字。。
case 1的1为number;case "1"的1为string。你弹出窗口得到的值是string类型,所以必须将case后面的值加""。