以下是我的代码,它怎么没有获取prompt中的值做判断,而是直接跳到default中了
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>switch</title>
<script type="text/JavaScript">
function week(){
var myweek =prompt("请输入星期几");//myweek表示星期几变量
switch(myweek)
{
case 1:
case 2:
document.write("学习理念知识");
break;
case 3:
case 4:
document.write("到企业实践");
break;
case 5:
document.write("总结经验");
break;
case 6:
case 7:
document.write("周六、日休息和娱乐");
default:
document.write("您输入的信息有误");
}
document.write("<br>今天是星期"+myweek);
}
</script>
</head>
<body>
<button onclick="week()">点击查看周计划</button>
</body>
</html>
因为你输入后得到的myweek是一个字符串类型的,而在switch 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 week=prompt("输入数字把"); switch (week) { case 0: case 1: case 2: case 3: document.write(week+"是小于等于3的"+"<br>") break; case 4: case 5: case 6: document.write(week+"是大于3的"+"<br>") break; default: document.write(week+"是大于6的") } </script> </head> <body> </body> </html>
我读取的就可以啊?是因为函数变了类型的原因吗?
迟到的感谢!加上parseInt就好了,但是,我还想再问一下,var 定义的变量默认为是字符串类型的吗