资讯专栏INFORMATION COLUMN

javascript switch新理解

Sunxb / 347人阅读

摘要:语句评估一个表达式,将表达式的值与子句匹配,并执行与该情况相关联的语句。若没有子句,程序将继续执行直到结束。可选的语句确保程序立即从相关的子句中跳出并接着执行之后的语句。

switch 语句评估一个表达式,将表达式的值与case子句匹配,并执行与该情况相关联的语句。

语法节

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

expression
一个用来与 case 子语句匹配的表达式。
case valueN 可选
用于匹配 expression 的 case 子句。如果 expression 与给定的 valueN 相匹配,则执行该 case 子句中的语句直到该 switch 语句结束或遇到一个 break 。
default 可选
一个 default 子句;如果给定,这条子句会在 expression 的值与任一 case 语句均不匹配时执行。
描述节
一个 switch 语句首先会计算其 expression 。然后,它将从第一个 case 子句开始直到寻找到一个其表达式值与所输入的 expression 的值所相等的子句(使用 严格运算符,===)并将控制权转给该子句,执行相关语句。(如果多个 case 与提供的值匹配,则选择匹配的第一个 case,即使这些 case 彼此间并不相等。)如果没有 case 子句相匹配,程序则会寻找那个可选的 default 子句,如果找到了,将控制权交给它,执行相关语句。若没有 default 子句,程序将继续执行直到 switch 结束。按照惯例,default 子句是最后一个子句,不过也不需要这样做。

可选的 break 语句确保程序立即从相关的 case 子句中跳出 switch 并接着执行 switch 之后的语句。若 break 被省略,程序会继续执行 switch 语句中的下一条语句。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch

说一千道一万,
其实还是从上到下依次跟每一个case比较,如果匹配上就执行,并且依次执行,除非遇到break

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106662.html

相关文章

  • JavaScript 继承说起, 深入理解 Angular Scope 继承关系

    摘要:原文发自我的博客易企秀招聘啦首先我们先来回顾以下中出现的原型继承原型继承自如果我们要在上查询一个定义在的属性会先在上查找如果没有查到那么会顺着原型链去查找所以以下判别式均为如果我们做如下操作原型链并没有被访问一个新的会被加入到的属性中去新的 原文发自我的博客 xiaoyu2er.github.io 易企秀招聘啦! JavaScript Prototypal Inheritance 首先...

    XBaron 评论0 收藏0
  • 用函数式编程对JavaScript进行断舍离

    摘要:函数式编程一开始我并不理解。渐渐地,我熟练掌握了使用函数式的方法去编程。但是自从学习了函数式编程,我将循环都改成了使用和来实现。只有数据和函数,而且因为函数没有和对象绑定,更加容易复用。在函数式的中,这些问题不复存在。 译者按: 当从业20的JavaScript老司机学会函数式编程时,他扔掉了90%的特性,也不用面向对象了,最后发现了真爱啊!!! 原文: How I rediscov...

    dkzwm 评论0 收藏0
  • Javascript设计模式-工厂模式

    摘要:设计模式工厂模式最近阅读了几本设计模式方面的书籍学习之余整理下来方便以后的归纳和梳理设计模式工厂模式创造工厂模式是一种创建性模式也就是一种创建对象的最佳实践首先我们需要理解为什么我们需要工厂模式想象一个场景如果你要求去买一些东西板烧鸡腿 Javascript设计模式-工厂模式 最近阅读了几本设计模式方面的书籍,学习之余整理下来,方便以后的归纳和梳理 设计模式-工厂模式 创造工厂模式是一...

    feng409 评论0 收藏0
  • 高程3总结#第24章最佳实践

    摘要:也就是说避免属性查找或其他的操作。简化循环体循环体是执行最多的,所以要确保其被最大限度地优化。代码组织组织代码要考虑到可维护性并不一定是传送给浏览器的最好方式。 最佳实践 可维护性 什么是可维护性的代码 如果说代码是可维护的,它需要遵循以下特点 可理解性——其他人可以接手代码并理解它的意图和一般途径,而无需原开发人员的完整解释。 直观性——代码中的东西一看就能明白,不管其操作过程多...

    zhiwei 评论0 收藏0
  • 深入理解JavaScript系列1:编写高质量JavaScript代码的基本要点

    摘要:访问全局对象在浏览器中,全局对象可以通过属性在代码的任何位置访问除非你做了些比较出格的事情,像是声明了一个名为的局部变量。 前言 才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书《JavaScript Patterns》(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情。具体一点就是编写高质量JavaScript的一些要素...

    Enlightenment 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<