switch借鉴自其他语言,但也有自己的特色。

1、可以在switch语句中使用任何数据类型(数值、字符串、对象等),很多其他语言中只能使用数值。

2、每个case的值不一定是常量,可以是变量或者表达式。

例1:

 1 switch ("hello world") {
 2      case "hello" + "world" :
 3           alert("Greeting was found.");
 4           break;
 5      case "goodbye" :
 6           alert("Closing was found.");
 7           break;
 8      default:
 9           alert("Unexpected message was found.");
10
11 }          

运行结果:Greeting was found.

例2:

 1 var num = 25;
 2 switch (true) {
 3     case num < 0:
 4         alert("Less than 0.");
 5         break;
 6     case num >= 0 && num <= 10:
 7         alert("Between 0 and 10.");
 8         break;
 9     case num >= 10 && num <= 20:
10         alert("Between 10 and 20.")
11         break;
12     default:
13         alert("More than 20.")
14 }

注:给case赋值true是因为每个case都会返回一个布尔值,这样每个case按照顺序被求值,直到找到匹配的值或者遇到default语句为止。

switch语句在比较值时使用的是全等操作符,不会发生类型转换(如字符串 ”10“ 不等于数值10)!

ECMA中的switch语句的更多相关文章

  1. Java中的switch语句后面的控制表达式的数据类型

    Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型

  2. [译]Javascript中的switch语句

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  3. Java中的switch语句——通过示例学习Java编程(8)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=19 当我们在代码逻辑中有多个选项,而且需要为每个选 ...

  4. 通过字节码分析java中的switch语句

    在一次做题中遇到了switch的问题,由于对switch执行顺序的不了解,在这里简单的通过字节码的方式理解一下switch执行顺序(题目如下): public class Ag{ static pub ...

  5. PHP:第二章——PHP中的switch语句

    <?php header("Content-Type:text/html;charset=utf-8"); /* switch语句: */ //例1: /*$i = 99; ...

  6. c/c++排坑(3) -- c/c++中的switch语句

    switch语句的简单介绍 一个 switch 语句允许测试一个变量等于多个值时的情况.每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查. switch(expres ...

  7. C 语言中的 switch 语句 case 后面是否需要加大括号

    事件原由为编辑器的自动缩进,当 case 换行后不自动缩进. 于是在在想可以可否在 case 后面再大括号,让其自动缩进. 查了资料,发现 case 是可以加大括号的,相当于代码块. 而且还有另外一个 ...

  8. Java中的switch语句

    switch可以替代if..else..,另外据说switch采用二分搜索,效率会更高一点. switch(type) { case 1 : type_name="INCOMING" ...

  9. golang中使用switch语句根据年月计算天数

    package main import "fmt" func main() { days := CalcDaysFromYearMonth(2021, 9) fmt.Println ...

随机推荐

  1. A Taxonomy of Computer Organizations

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  2. 贪吃蛇的java代码分析(二)

    代码剖析 贪吃蛇是一款十分经典的小游戏,对初入coding的朋友来说,拿贪吃蛇这样一个案例来练手十分合适,并不高的难度和成功后的成就感都是学习所必须的.下面我将依照我当时的思路,来逐步分析实现的整个过 ...

  3. tp文件上传;org/RBAC.class.php 权限类;think/page,class,php分页类;

    一.上传表单: 注意,要使用上传功能 你的表单需要设置 enctype="multipart/form-data" <form action="__URL__/up ...

  4. js 图片加载完后的处理事件

    //图片加载完成后再显示页面 document.getElementById('icon').onload=function(){ document.getElementById('wrap').st ...

  5. HTTP缓存&代理

    一.与缓存有关的Header 1.Request If-Modified-Since:  缓存文件的最后修改时间 If-None-Match:                             ...

  6. Android 基于Android的手机邮件收发(JavaMail)之一(准备工作)

    界面一共是五个界面,分别是welcomeActivity,ReceiveAndSendActivity,ReceiveListActivity,SendMailActivity,MailDetails ...

  7. Linux 搭建NTP服务器

    NTP服务器[Network Time Protocol(NTP]是用来使计算机时间同步化的一种协议,NTP服务器可以对其它服务器做时间同步化,从而达到时间统一. 配置环境及要求: A. 假设10.8 ...

  8. vulcan测试记录

    感觉这个游戏很赞,是六个里面最喜欢的一个了 1.有时候挖坑对于位置要求比较大? 2.感觉难度比较大,尤其是玩到第三关很考验啊(不过从另一个方面来说也是优点?) 3.玩到现在对于怪物吃金子的原理没有很懂 ...

  9. Configure LDAP Server(centos7 openldap)

    1.安装openldap -server: [root@dlp ~]# yum -y install openldap-servers openldap-clients [root@dlp ~]# c ...

  10. Leetcode: Ternary Expression Parser

    Given a string representing arbitrarily nested ternary expressions, calculate the result of the expr ...