JavaScript中的switch详解

这篇具有很好参考价值的文章主要介绍了JavaScript中的switch详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

switch 语句用来选择多个需被执行的代码块之一。

1. 语法

switch(表达式) {
  case n:
    代码块
      break;
  case n:
      代码块
      break;
  default:
      默认代码块
} 

2. 代码解释

  • 计算一次 switch 表达式
  • 把表达式的值与每个 case 的值进行对比
  • 如果存在匹配,则执行关联代码

3. break 关键词

如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块。不必中断 switch 代码块中的最后一个 case。代码块在此处会自然结束。

4. default 关键词

default 关键词规定不存在 case 匹配时所运行的代码。

  • default 不必是 switch 代码块中最后一个 case。
  • 如果 default 不是 switch 代码块中最后一个 case,请记得用 break 结束默认 case。
  • default 是可选的,并非必不可少(虽然惯例如此)。break 相关规则对 default 仍
    然适用。

5. 严格的比较

Switch case 使用严格比较(===)。值必须与要匹配的类型相同。只有操作数属于同一类型时,严格比较才能为 true。文章来源地址https://www.toymoban.com/news/detail-420157.html

function demo(param) {
    switch (param) {
        case '1':
            console.log('1')
            break
        case '2':
            console.log('2')
            break
        default:
            console.log('default')
    }
}

demo('2') // 2
demo(2) // default
demo(new String('2')) // default
let o1 = {}
let o2 = {}
let o3 = {}
let o4 = o3

function demo (o) {
    switch (o) {
        case o1:
            console.log('o1')
            break
        case o2:
            console.log('o2')
            break
        case o3:
            console.log('o3')
            break
        default:
            console.log('default')
    }
}
    
demo(o1) // o1
demo(o3) // o3
demo(o4) // o3

6. case后接表达式

function demo (param) {
    switch (true) {
        case param == '1':
            console.log('1')
            break
        case param == '2':
            console.log('2')
            break
        default:
            console.log('default')
    }
}

demo (1) // 1
demo ('1') // 1
demo (2) // 2
function demo () {
    switch (3) {
        case 1 + 1:
            console.log('1 + 1')
            break
        case 1 + 2:
            console.log('1 + 2')
            break
        case 1 + 3:
            console.log('1 + 3')
            break
        default:
            console.log('default')
    }
}

demo() // 1 + 2
function demo (a, b) {
    switch (a) {
        case b + 1:
            console.log('b + 1')
            break
        case b + 2:
            console.log('b + 2')
            break
        case b + 3:
            console.log('b + 3')
            break
        default:
            console.log('default')
    }
}

demo(3, 1) // b + 2
demo(4, 1) // b + 3
demo(4, 2) // b + 2
demo(4, 4) // default

7. 表达式中的严格相等

function demo () {
    let a = 'hello'
    let b = '10'

    switch (true) {
        case (a || b == 10):
            console.log('1')
            break
        default:
            console.log('default')
    }
}

// a || b == 10 的值为 hello,和 true 不严格相等
demo() // default
function demo () {
    let a = 'hello'
    let b = '10'

    switch (true) {
        case !!(a || b == 10):
            console.log('1')
            break
        default:
            console.log('default')
    }
}

demo() // 1

到了这里,关于JavaScript中的switch详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java switch case语句详解

    if…else 语句可以用来描述一个“二岔路口”,我们只能选择其中一条路来继续走,然而生活中经常会碰到“多岔路口”的情况。switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中的一个执行。 switch 语句是 Java 的多路分支语句。它提供了一种基于一个表

    2024年02月16日
    浏览(36)
  • 揭秘Java switch语句中的case穿透现象

    导语:在 Java 开发中,我们经常使用 switch 语句来进行条件判断和分支选择。然而,有一个令人困惑的现象就是,当某个 case 语句没有加上 break 时,程序会继续执行下一个 case 语句,这被称为 case穿透现象 。本文将揭秘 case穿透现象 的原因,并解释为何会出现这种行为

    2024年02月06日
    浏览(49)
  • 关于 C/C++ 中的 switch 语句,您可能不知道

    关于如何通过VC++中的逆向工程执行开关/案例的讨论 许多编程语言,如 C/C++、C#、Java 和 Pascal 都提供了让我们实现选择逻辑的语句。在某些情况下,它是 的良好替代方法,使代码更清晰、更具可读性。在实践中使用时,您可能想知道: switch if-then-elseswitch 块在运行时如何执行

    2024年02月06日
    浏览(38)
  • C# Switch 语句进阶:模式匹配详解与实例演示

      在C#中,switch语句的模式匹配在C# 7.0及以上版本中引入。以下是switch语句中常见的模式及其使用方法的示例: 优点:  用于检查对象的运行时类型,使代码更具可读性。 优点:  用于匹配对象是否等于某个常量值。 优点:  允许将多个模式组合在一起,形成更复杂的匹配

    2024年01月24日
    浏览(44)
  • Verilog中的force语句用来强制更改信号的值,特别适用于仿真和调试。本文将深入探讨force语句在FPGA开发中的应用和注意事项。

    Verilog中的force语句用来强制更改信号的值,特别适用于仿真和调试。本文将深入探讨force语句在FPGA开发中的应用和注意事项。 首先,我们需要了解force语句的语法。其基本格式为force [time] signal = value。其中,time是可选参数,表示在何时开始强制更改信号的值;signal是要更改的

    2024年02月12日
    浏览(95)
  • 【C语言分支语句详解】:if,switch,让你的程序流程得心应手!

    🎥 屿小夏 : 个人主页 🔥个人专栏 : C语言详解 🌄 莫道桑榆晚,为霞尚满天! C语言中的控制语句是程序设计中不可或缺的重要组成部分。从简单的if语句到复杂的多分支结构,掌握这些语句对于编写高效、灵活的程序至关重要。本文将深入探讨C语言中控制语句的各种形

    2024年02月04日
    浏览(55)
  • 【C语言趣味教程】(10) 分支语句 Ⅱ:switch 语句 | fall-through 效应 | default 子句 | else 特性详解 | else 匹配原则 | 悬空 else 隐患

        🔗 《C语言趣味教程》👈 猛戳订阅!!! 0x00 switch 的语法 📚 介绍: switch 语句是一种多分支语句,常常用于 \\\"多分支\\\" 的情况。 用于不同条件执行不同动作,每一个 case 分支都是唯一的,从上往下逐一测试直到匹配为止。 一个标准的 switch 语句由三部分组成: case

    2024年02月03日
    浏览(54)
  • FPGA中的条件选择语句——case

    FPGA中的条件选择语句——case 在FPGA设计中,条件选择语句是非常重要的语法结构。其中一种形式是case语句。case语句用于在多种条件之间进行选择,是实现组合逻辑的基本构件之一。本文将详细讲述FPGA中的case语句。 case语句的格式如下所示: 其中,expression是一个变量或表达

    2024年02月04日
    浏览(48)
  • Javascript if 语句使用详解

    目录 Javascript if 语句使用详解 一、if语句 二、if……else语句 三、if……else if语句 if语句是使用最为普遍的条件选择语句,每一种编程语言的if语句都差不多。if语句类型共有3种: (1)if语句(单向选择); (2)if……else语句(双向选择); (3)if……else if语句(多向选择

    2024年04月29日
    浏览(45)
  • 【C语言】分支语句(选择结构)详解

    ✨个人主页: Anmia. 🎉所属专栏:  C Language 🎃操作环境:   Visual Studio 2019 版本   目录 什么是分支语句? if语句 if if - else单分支 if - else if - else ...多分支 if - if嵌套 switch语句 基本语法 break default 练习 练习1   练习2  练习3 练习4 练习5 练习6 练习7 练习8 练习9 练习10 练习

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包