Switch语句的技巧

 更新时间:2016年02月21日 09:15:19   作者:Xiaohu1986  
switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行,本文给大家介绍Switch语句的技巧,需要的朋友参考下吧

概述

switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行。

语法

break;语句是可选择的,如果遇到break;则会跳出整个switch语句。如果没有任何case匹配,则进入到default:的分支。default:分支也是可选的。

switch (expression) {
case value1:
// 当 expression 的结果与 value1 匹配时,从此处开始执行
statements1;
[break;]
case value2:
// 当 expression 的结果与 value2 匹配时,从此处开始执行
statements2;
[break;]
...
case valueN:
// 当 expression 的结果与 valueN 匹配时,从此处开始执行
statementsN;
[break;]
default:
// 如果 expression 与上面的 value 值都不匹配时,执行此处的语句
statements_def;
[break;]
}

case中使用条件判断

看看下面的代码,当foo为0,1,2,3的时候显示alert。

var foo = 1;
switch (foo) {
case 0:
case 1:
case 2:
case 3:
alert('yes');
break;
default:
alert('not');
}

有没有更好的写法呢?下面这个显然更简洁清晰啊。

var foo = 1;
switch (true) { // 非变量 TRUE 替代 foo
case foo >= 0 && foo <= 3:
alert('yes');
break;
default:
alert('not');
}

表示等级

精心设计的switch把_最少最稀有的条件_在上面,普通的条件放在相对下面的位置

function rankProgrammer(rank){ 
switch(rank){ 
case "高级": 
this.secretary = true;
case "中级": 
this.laptop = true;
this.bonus = true;
case "初级": 
this.salary = true;
this.vacation = true; 
}
}
var xiaohu=new rankProgrammer("高级");
console.log(xiaohu);

以上内容给大家介绍了switch语句的技巧,希望对大家以上帮助。

相关文章

  • SwiftUI 登录界面布局实现示例详解

    SwiftUI 登录界面布局实现示例详解

    这篇文章主要为大家介绍了SwiftUI 登录界面布局实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 利用Swift如何判断iPhone X机型详解

    利用Swift如何判断iPhone X机型详解

    近日,iPhone X的发布在人们群众引起了很大的轰动,下面这篇文章主要给大家介绍了关于利用Swift如何判断iPhone X机型的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • Swift解决UITableView空数据视图问题的简单方法

    Swift解决UITableView空数据视图问题的简单方法

    这篇文章主要给大家介绍了关于Swift解决UITableView空数据视图问题的简单方法,文中通过示例代码介绍的非常详细,对大家学习或者使用swift具有一定的参考学习价值,需要的朋友可以参考下
    2018-10-10
  • Swift4使用GCD实现计时器

    Swift4使用GCD实现计时器

    这篇文章主要为大家详细介绍了Swift4使用GCD实现计时器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Swift算法之二叉树实现的方法示例

    Swift算法之二叉树实现的方法示例

    二叉树是计算机科学中最基本也是最重要的树型结构,最常见的二叉树生成算法通常是使用递归或者其他描述类语言的方法来实现。本文主要介绍了Swift算法之二叉树实现的方法,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • 使用 Swift Package 插件生成代码的示例详解

    使用 Swift Package 插件生成代码的示例详解

    这篇文章主要介绍了使用 Swift Package 插件生成代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 深入讲解Swift的内存管理

    深入讲解Swift的内存管理

    不管在什么语言里,内存管理的内容都很重要,Swift使用自动引用计数来管理应用程序的内存使用。这表示内存管理已经是Swift的一部分,在大多数情况下,你并不需要考虑内存的管理。本文主要介绍了Swift中内存管理的相关资料,需要的朋友可以参考。
    2017-03-03
  • Swift与C语言指针结合使用实例

    Swift与C语言指针结合使用实例

    这篇文章主要介绍了Swift与C语言指针结合使用实例,本文讲解了用以输入/输出的参数指针、作为数组使用的参数指针、用作字符串参数的指针、指针参数转换的安全性等内容,需要的朋友可以参考下
    2015-05-05
  • Swift使用编解码库Codable的过程详解

    Swift使用编解码库Codable的过程详解

    Codable 是 Swift 引入的全新的编解码库,使开发者更方便的解析JSON 或 plist 文件,支持枚举、结构体和类,这篇文章主要介绍了Swift使用编解码库Codable,需要的朋友可以参考下
    2023-09-09
  • Swift算法实现逐字翻转字符串的方法示例

    Swift算法实现逐字翻转字符串的方法示例

    大家都知道翻转字符串在字符串算法中算是比较常见的,下面这篇文章主要介绍了Swift算法实现逐字翻转字符串的方法,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03

最新评论