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>

運行效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM