zoukankan      html  css  js  c++  java
  • 原生js witch语句

    一、我们在流判断的时候,我们大多数的情况我使用if  else 语句。但是对于一些大量的逻辑的判断的时候,我们不建议使用if elseif语句 这种语句的效率执行不高,因为他每个expression 都需要进行计算判断,而switch case语句,在效率上更比if语句更高

    其原理他本身根据生成的静态表,通过索引进行匹配效率高于if语句。

    执行流程:

    switch (expression){

    case value1:

    statement

    break

    case value2:

    statement

    break

    .......

    default:

    statement

    }

    首先执行switch内的expression,计算值,然后进行case进行判断。匹配到case,执行对应的statement  如果有break,则跳出switch语句,如果没有则执行剩下的case语句,最后执行default 内的语句。如果带有break的,当匹配执行完case的时候,不会执行default 语句。如果

    没有匹配到case最后执行default语句。

    需要注意:switch语句的case匹配是全等匹配。不存在类型转换这点不同于if语句。

    复制代码
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7 <script type="text/javascript">
     8     var  date=new Date();
     9     switch(date.getDate()){
    10         case 1:
    11         alert(1);
    12         case 2:
    13         alert(2);
    14         case 3:
    15         alert(3);
    16         case 4:
    17         alert(4)
    18         case 5:
    19         alert(5)
    20         default:
    21         alert('default')
    22     }
    23 </script>
    24 </body>
    25 </html>
    复制代码

    如上switch语句,如果没有break的语句。在执行完的匹配的执行语句的时候,还会执行default语句。

    加上break则匹配到case语句之后,不会执行default语句。此时default语句相当于if中的else部分。

    复制代码
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7 <script type="text/javascript">
     8     var  date=new Date();
     9     switch(date.getDate()){
    10         case 1:
    11         alert(1);
    12         break;
    13         case 2:
    14         alert(2);
    15         break;
    16         case 3:
    17         alert(3);
    18         break;
    19         case 4:
    20         alert(4);
    21         break;
    22         case 5:
    23         alert(5);
    24         break;
    25         default:
    26         alert('default')
    27     }
    28 </script>
    29 </body>
    30 </html>
    复制代码

    一般的情况下 我们会用switch做一些值 的判断,当然我们可以进行逻辑的判断

    复制代码
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7 <script type="text/javascript">
     8 var num=24;
     9 switch(true){
    10     case num>24:
    11     alert("大于24!");
    12     break;
    13     case num<24&&num>20:
    14     alert("大约20,小于24!");
    15     break;
    16     case num===24:
    17     alert("等于24");
    18     break;
    19     default:
    20     alert("判断不了")
    21 }
    22 </script>
    23 </body>
    24 </html>
  • 相关阅读:
    update语句更新多条记录, 标记下
    点击超链接从VSTF、SVN及文件共享服务器上下载文件
    批量插入数据, 将DataTable里的数据批量写入数据库的方法
    SqlServer规范, 标记下
    学习笔记Mysql操作总结
    今拾到了个联合查询, 琢磨了好几个小时, 标记一下
    【读书笔记】 拜读潘加宇的《软件方法》一书的摘抄(上)
    关于引用类型的 ref 传参操作
    sed 正则表达式处理日志
    各省市个税计算器
  • 原文地址:https://www.cnblogs.com/tyblwmbs/p/10909875.html
Copyright © 2011-2022 走看看