为了账号安全,请及时绑定邮箱和手机立即绑定

怎么是这样的结果呢

以下是我的代码,它怎么没有获取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>

正在回答

3 回答

因为你输入后得到的myweek是一个字符串类型的,而在switch case中,你用的是数值型的,所以需要你把myweek转换成数值型

1 回复 有任何疑惑可以回复我~
#1

meto 提问者

非常感谢
2015-07-25 回复 有任何疑惑可以回复我~
#2

meto 提问者

迟到的感谢!加上parseInt就好了,但是,我还想再问一下,var 定义的变量默认为是字符串类型的吗
2015-07-25 回复 有任何疑惑可以回复我~
<!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>

我读取的就可以啊?是因为函数变了类型的原因吗?

0 回复 有任何疑惑可以回复我~

迟到的感谢!加上parseInt就好了,但是,我还想再问一下,var 定义的变量默认为是字符串类型的吗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

怎么是这样的结果呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信