js中switch/case分支的值可以是变量或表达式

Posted 寻找薛定谔的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中switch/case分支的值可以是变量或表达式相关的知识,希望对你有一定的参考价值。

在一些高级语言如C#中,switch分支的值只能是常量,而js中可以是变量或表达式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
  <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  <script type="text/javascript">
    $(function(){
     $(#btnScore).bind(click,function(){
           var score = $(#txtScore).val();
              var reg = /^[0-9]+.?[0-9]*$/
           if (!reg.test(score)) {
              alert(请输入合法的数字!);
              return false;
           }
           calcScore(score);
          }) 
   });
    function calcScore(score){
      switch(true){  //不能写switch(score),因为表达式值为bool类型
       case score > 90  && score <= 100:
         alert();
         break;
       case score > 80 && score <= 90:
         alert();
         break;
       case score > 59 && score <= 80:
         alert(及格);
         break;
       case score > -1 && score <= 59:
         alert(不及格);
         break;
       default:
         alert(输入分值范围错误!);
         break;
     }
   }
 </script>
</head>
<body>
    <label for=‘txtScore‘>分值:</label><input id=‘txtScore‘ type=‘text‘>
    <input id=‘btnScore‘ type=‘button‘ value=‘评分‘ />
</body>
</html>

运行效果

以上是关于js中switch/case分支的值可以是变量或表达式的主要内容,如果未能解决你的问题,请参考以下文章

Java中的switch语句怎么使用

switch...case 与 if...else 的性能分析

if...else与switch...case的执行效率问题

Js分支结构 switch--case

C语言 回滚技术 switch case

Java switch case 语句