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:

  • 相关阅读:
    汇总:unity中弹道计算和击中移动目标计算方法
    Unity3D游戏开发之SQLite让数据库开发更简单
    3DMAX可编辑多边形常用命令-桥
    3dmax沿立方体边扩展出面
    3dmax切割平行线
    Litjson
    使用 Unity 3D 开发游戏的架构设计难点
    Unity T4M 中文讲解
    unity5.5打包
    颜色模式
  • 原文地址:https://www.cnblogs.com/cheeseCatMiao/p/10921645.html
Copyright © 2011-2022 走看看