zoukankan      html  css  js  c++  java
  • switch case

    本次随笔由一个例子引出~

    例1:var num = 18;

    switch(true) {
      case num < 0: alert('less than 0');break;
      case num >= 0 && num <= 10: alert('between 0 and 10');break;
      case num > 10 && num <=20: alert('between 10 and 20');break;
      default: alert('More than 20');
    }

    // 执行 alert('between 10 and 20')

    ----------------------------------------------------

    例2: var num = 18;

    switch(num) {
      case num < 0: alert('less than 0');break;
      case num >= 0 && num <= 10: alert('between 0 and 10');break;
      case num > 10 && num <=20: alert('between 10 and 20');break;
      default: alert('More than 20');
    }

    // 执行 alert('More than 20')

    解析:

    switch 语句中的每一种case的含义是:“如果表达式等于这个值(switch后面跟的表达式的值),则执行后面的语句”。而break关键字会导致代码执行流跳出switch语句。如果省略break关键字,就会导致执行完当前case后,继续执行下一个case。最后的default关键字则用在表达式不匹配前面任何一种情形的时候,执行机动代码(相当于else语句)。

    使用tips:

    1、可以在switch语句中使用任何数据类型(在很多其他语言中只能使用数值),无论是字符串还是对象都没有问题。

    2、每个case的值不一定是常量,可以是变量,甚至是表达式。

    3、注意switch比较的时候是通过值相等的方式,故例2输出的是default,因为各种case的值都是布尔值,而num是数值,不会相等。

    4、switch语句在比较值时使用的是全等操作符,因此不会发生类型转换,例如字符串‘10’不等于数值10。

    性能tips:

  • 相关阅读:
    Thinphp+nginx配置伪静态
    Potyczki Algorythmiczne 2013
    接下来一段时间会对大家进行网络通信的魔鬼训练理解socket
    项目中怎样做技术选型
    面试官问我:你做事仔细吗?
    【编程一生】2021年总结数据可视化技巧
    一个反直觉的sql
    CURD系统怎么做出技术含量惊艳面试官
    深入理解函数式编程
    历史文章分类汇总
  • 原文地址:https://www.cnblogs.com/cheeseCatMiao/p/10921645.html
Copyright © 2011-2022 走看看