switch-case语句---分支语句---多分支语句

语法:

      switch(表达式){
case 值1:代码1;break;
case 值2:代码2;break;
case 值3:代码3;break;
case 值4:代码4;break;
...多个case
default:代码5;
}
     

*注意问题:

     * default后面的break是可以省略的
     * default也可以省略
     
     * switch-case 语句中和case后面的值比较的时候使用的是严格的模式
     * break是可以省略
 

执行过程:

     * 获取表达式的值,和值1比较,如果一样,则执行代码1,遇到break则跳出整个的语句,后面代码不执行
     * 如果表达式的值和值1不一样,则和值2比较,如果相同则执行代码2,遇到break则跳出
     * 否则和值3比较,相同则执行代码3,遇到break,跳出;否则和值4比较,相同则执行代码4,遇到break则跳出;否则直接执行代码5

练习1: 获取一个人的成绩的级别, 如果是A级则显示90到100直接的分数

* 如果是B级则显示80到90分
* 如果是C级则显示70到80之间分数
* 如果是D级则显示60到70分之间
* 否则显示0到59之间
 
 var jiBie = "E";
switch (jiBie) {
case "A":
console.log("90到100之间");
break;
case "B":
console.log("80到90之间");
break;
case "C":
console.log("70到80之间");
break;
case "D":
console.log("60到70之间");
break;
default :
console.log("0到59之间");
}
 

注意问题:

* switch-case 语句中和case后面的值比较的时候使用的是严格的模式: ===3个等于号,类型相同+值相同,更严格

   var num = "10";//字符串
  console.log("10"===10);//true还是false
switch (num) {
case 10:
console.log("数字的10");
break;
case "10":
console.log("字符串的10");
break;
}

练习2: 根据月份显示对应的天数

      根据月份显示对应的天数,分析:
      1,3,5,7,8,10,12 ---31天
      2----28天
      4,6,9,11----30
 

代码如下:(代码不规范,应格式化下,此处是方便理解)

         var month=parseInt(prompt("请输入月份"));
switch (month){
case 1:console.log("31天");break;
case 2:console.log("28天");break;
case 3:console.log("31天");break;
case 4:console.log("30天");break;
case 5:console.log("31天");break;
case 6:console.log("30天");break;
case 7:console.log("31天");break;
case 8:console.log("31天");break;
case 9:console.log("30天");break;
case 10:console.log("31天");break;
case 11:console.log("30天");break;
case 12:console.log("31天");break; }

代码优化:

相同的归类+break是可以省略

     var month = parseInt(prompt("请输入月份"));
      switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
          console.log("31天");
          break;
        case 4:
        case 6:
        case 9:
        case 11:
          console.log("30天");
          break;
        case 2:
          console.log("28天");
          break;
      }

练习3:根据数字显示对应的星期


      var num = parseInt(prompt("请输入一个星期的数字"));
      switch (num) {
        case 1:
          console.log("星期一");
          break;
        case 2:
          console.log("星期二");
          break;
        case 3:
          console.log("星期三");
          break;
        case 4:
          console.log("星期四");
          break;
        case 5:
          console.log("星期五");
          break;
        case 6:
          console.log("星期六");
          break;
        case 7:
          console.log("星期日");
          break;
        default:
          console.log("输入错误");
      }
 

JS基础语法---分支语句之:switch-case语句---3个练习的更多相关文章

  1. if语句,if...else if语句和switch...case语句的区别和分析

    前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...

  2. Java基础之循环语句、条件语句、switch case 语句

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  3. Python | 基础系列 · Python为什么没有switch/case语句?

    与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): sw ...

  4. js 学习之路7:switch/case语句的使用

    语法格式: switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代 ...

  5. JS基础语法---分支语句之:三元表达式

    获取两个数字中的最大值 用if-else语句        var num1 = 10;        var num2 = 100;        if (num1 > num2) {     ...

  6. JS基础语法---分支语句之:if语句,if-else语句,if-ever if语句

    //if语句只有一个分支 //if-else语句有两个分支,最终执行一个分支 //if-else if-else if-else if-else if..........else---多分支,最终也是 ...

  7. JS基础语法---分支语句总结

    分支语句: if语句:一个分支 if-else语句:两个分支,最终只执行一个分支 if-else if-else if...语句: 多个分支,也是只会执行一个 switch-case语句:多分支语句, ...

  8. JavaScript基础知识(if、if else、else if、while、switch...case语句)

    13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句     "{ }"将多条语句包裹 u ...

  9. JavaSE基础(七)--Java流程控制语句之switch case 语句

    Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch case 语句语法格式如下: switch(exp ...

随机推荐

  1. [Vue warn]: Invalid prop: type check failed for prop "fullscreen"

    fullscreen属性是Dialog弹窗中定义是否为全屏 Dialog的属性,element 官方文档中默认值是false ,于是加入是对其赋值 true,然后报了下面的错误: 解决办法:实际上并不 ...

  2. React躬行记(1)——函数式编程

    函数式编程是React的精髓,在正式讲解React之前,有必要先了解一下函数式编程,有助于更好的理解React的特点.函数式编程(Functional Programming)不是一种新的框架或工具, ...

  3. SpringCloud中Feign的适配器的实现方案

    前言 最近在做微服务的项目,各个系统之间需要进行调用,然后用一个适配器来实现服务之间的feign调用,使用适配器进行统一管理. 实现方案 首先我们需要将服务的名称进行单独的配置,可以方便的进行切换和扩 ...

  4. Scrapy中response属性以及内容提取

    一.属性 url :HTTP响应的url地址,str类型 status:HTTP响应的状态码, int类型 headers :HTTP响应的头部, 类字典类型, 可以调用get或者getlist方法对 ...

  5. maven仓库之第二篇

    1. 什么是maven? 它是一个软件开发的管理工具,主要管理的工作是:依赖管理,项目构建. 2. 使用maven的好处? 能够集中管理jar包,提供一键构建. 3. maven的安装及配置 配置:M ...

  6. OAuth2、OpenID Connect简介

    当我们在登录一些网站的时候,需要第三方的登录.比如,现在我们要登录简书https://www.jianshu.com/sign_in,我们使用微博登录,点击下方的一个微博的小按钮,就会出现这么一个地址 ...

  7. ES6-字符串模板

    es6字符串模板 // es5 let ananiah = "大诶呀"; let blog = "我要忘了你的样子"+ ananiah; console.log ...

  8. arcgis api 4.x for js 集成 Echarts4 实现模拟迁徙图效果(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...

  9. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  10. Mac进行Flutter的相关开发配置

    参考链接:https://www.cnblogs.com/tangtianming/p/10797227.html