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语句的技巧,希望对大家以上帮助。

相关文章

  • Swift TableView实现冻结窗格功能

    Swift TableView实现冻结窗格功能

    这篇文章主要为大家详细介绍了Swift TableView实现冻结窗格功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Swift中defer关键字推迟执行示例详解

    Swift中defer关键字推迟执行示例详解

    这篇文章主要给大家介绍了关于Swift中defer关键字推迟执行的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • Swift中使用可选类型完美解决占位问题

    Swift中使用可选类型完美解决占位问题

    这篇文章主要介绍了Swift中使用可选类型完美解决占位问题,本文讲解了为Dictionary增加objectsForKeys函数、Swift中更简便的方法、内嵌可选类型等内容,需要的朋友可以参考下
    2015-05-05
  • 简陋的swift carthage copy-frameworks 辅助脚本代码

    简陋的swift carthage copy-frameworks 辅助脚本代码

    下面小编就为大家分享一篇简陋的swift carthage copy-frameworks 辅助脚本代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 如何使用Swift来实现一个命令行工具的方法

    如何使用Swift来实现一个命令行工具的方法

    这篇文章主要介绍了如何使用Swift来实现一个命令行工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • swift实现简易计算器项目

    swift实现简易计算器项目

    这篇文章主要为大家详细介绍了swift实现简易计算器项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 程序迁移到swift 3.0的一些实用技巧

    程序迁移到swift 3.0的一些实用技巧

    Swift项目为适配iOS10,无奈只能更新Xcode 8 ,可是发现一入3.0深似海,从此幸福是路人。于是边摸索边修改,终于完成了代码迁移。节后在完成手头工作后,整理思路把Swift3.0迁移的一些实用技巧分享大家,需要的朋友可以参考下。
    2017-03-03
  • Swift之for循环的基础使用学习

    Swift之for循环的基础使用学习

    这篇文章主要为大家介绍了Swift之for循环的基础学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 用SwiftUI实现3D Scroll滚动效果的实现代码

    用SwiftUI实现3D Scroll滚动效果的实现代码

    这篇文章主要介绍了用SwiftUI实现3D Scroll效果的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
    2020-04-04
  • 详解Swift中enum枚举类型的用法

    详解Swift中enum枚举类型的用法

    Swift中通过enum关键字可以直接创建出枚举对象,而且可以使用switch和case语句来进行流程控制,十分强大和灵活,这里我们就来详解Swift中enum枚举类型的用法
    2016-06-06

最新评论