hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

【WEB前端开辟】详解JavaScript中Switch语句的用法

2019-11-27后端开发ki4网27°c
A+ A-
除了if ... else以外,JavaScript另有一个称为switch语句的功用。 switch是一种前提语句,它将针对多种能够的状况评价表达式,并依据婚配的状况实行一个或多个代码块。 switch语句与包含很多其他if块的前提语句密切相干,而且它们一般能够交换运用。

在本教程中,我们将进修怎样运用switch语句,以及怎样运用相干的关键字case,break和default。 末了,我们将引见怎样在switch语句中运用多个case。

【相干课程引荐:JavaScript视频教程】

Switch

switch语句盘算表达式并作为婚配大小写的效果实行代码。 早先它看起来有点令人生畏,但基础语法类似于if语句。 它将一向运用switch(){}编写,括号中包含要测试的表达式,以及包含要实行的潜伏代码的花括号。

下面是一个带有两个case语句的switch语句和一个称为default的回退的示例。

switch (expression) {
    case x:        
    // execute case x code block
        break;    
     case y:
     // execute case y code block
        break;   
      default:        
      // execute default code block
      }

遵照上面代码块的逻辑,这是将要发作的事宜序列:

表达式被评价

第一个case,x将针对表达式举行测试。假如婚配,则代码将实行,break关键字将完毕该switch块。

假如它不婚配,x将跳过,y并将针对表达式测试案例。假如y婚配表达式,代码将实行并退出switch块。

假如一切状况都不婚配,则default代码块将运转。

让我们根据上面的语法制造一个switch语句的事情示例。 在此代码块中,我们将运用新的Date()要领找到一周中的当前日期,并运用getDay()来打印与当天相对应的数字。 1代表礼拜一,一向代表7代表礼拜日。 我们将从设置变量最先。

const day = new Date().getDay();

运用switch,我们将在一周中的每一天向控制台发送音讯。递次将按从上到下的递次运转以查找婚配项,一旦找到一个,该break敕令将住手该switch块继承评价语句。

week.js

// Set the current day of the week to a variable, with 1 being Monday and 7 being Sunday
const day = new Date().getDay();
switch (day) {
    case 1:
        console.log("Happy Monday!");        
        break;    
    case 2:
        console.log("It's Tuesday. You got this!");        
        break;    
    case 3:
        console.log("Hump day already!");        
        break;    
    case 4:
        console.log("Just one more day 'til the weekend!");        
        break;    
     case 5:
        console.log("Happy Friday!");        
        break;    
      case 6:
        console.log("Have a wonderful Saturday!");        
        break;    
      case 7:
        console.log("It's Sunday, time to relax!");        
        break;    
      default:
        console.log("Something went horribly wrong...");
}
Output
'Just one more day 'til the weekend!'

此代码在礼拜四举行了测试,对应于4,因而控制台输出为Just one more day 'til the weekend!。依据您测试代码的礼拜几,您的输出会有所差别。我们default在末了包含一个块以便在涌现毛病时运转,在这类状况下不应该发作,因为一周只要7天。比方,我们也能够只要周一到周五的打印效果,而且该default块能够在周末也有雷同的信息。

假如我们在每一个语句中省略了break关键字,则其他case语句都不会被评价为true,但递次将继承搜检直到它抵达末端。 为了使我们的递次更快,更高效,我们包含break。

Switch Ranges

在某种状况下,您须要评价switch块中的一系列值,而不是像上面示例中的单个值。 我们能够经由过程将表达式设置为true并在每一个case语句中实行操纵来完成此操纵。

为了使这更轻易明白,我们制造了一个简朴的评分应用递次,它将取得一个数字分数并将其转换为字母品级,具有以下请求。

 ● 品级90及以上是A

 ● 品级80到89是B

 ● 品级70到79是C

 ● 品级60到69是D

 ● 品级59或以下是F

如今我们能够将其写为switch语句。 因为我们正在搜检局限,因而我们将在每种状况下实行操纵以搜检每一个表达式是不是正在评价为true,然后在满足true请求后打破语句。

grades.js

// Set the student's grade
const grade = 87;
switch (true) {
    // If score is 90 or greater
    case grade >= 90:
        console.log("A");       
        break;    
     // If score is 80 or greater
    case grade >= 80:
        console.log("B");        
        break;    
     // If score is 70 or greater
    case grade >= 70:
        console.log("C");       
        break;    
      // If score is 60 or greater
    case grade >= 60:
        console.log("D");        
        break;    
      // Anything 59 or below is failing
    default:
        console.log("F");
}
Output
'B'

在此示例中,要盘算的括号中的表达式为true。 这意味着任何评价为true的状况都是婚配的。

就像运用else一样,switch从上到下举行评价,并吸收第一个真正的婚配。 因而,纵然我们的品级变量为87,因而关于C和D也评价为真,第一个婚配是B,它将是输出。

Multiple Cases

您能够会碰到多个case应具有雷同输出的代码。 为了完成这一点,您能够为每一个代码块运用多个case。

为了测试这个,我们将制造一个小的应用递次,将当前月份与恰当的时节相婚配。 起首,我们将运用新的Date()要领查找与当前月份对应的数字,并将其应用于月份变量。

为简朴起见,我们的应用递次将输出具有以下规格的四季:

 ● 冬季:一月,二月和三月

 ● 春季:四月,五月和六月

 ● 夏日:七月,八月和玄月

 ● 秋日:十月,十一月和十二月

以下是我们的代码。

seasons.js

// Get number corresponding to the current month, with 0 being January and 11 being December
const month = new Date().getMonth();
switch (month) {
    // January, February, March
    case 0:    
    case 1:    
    case 2:
        console.log("Winter");        
        break;    
    // April, May, June
    case 3:    
    case 4:    
    case 5:
        console.log("Spring");        
        break;    
    // July, August, September
    case 6:    
    case 7:    
    case 8:
        console.log("Summer");        
        break;    
    // October, November, December
    case 9:    
    case 10:    
    case 11:
        console.log("Autumn");        
        break;    
    default:
        console.log("Something went wrong.");
   }

当我们运转代码时,我们将依据上面的范例吸收辨认当前时节的输出。

Output
Summer

出书时的当月是8,这与“夏日”时节产出的一个case陈说相对应。

结论:

在本文中,我们回忆了switch语句,这是一种前提语句,用于评价表达式并依据婚配效果输出差别的值。 我们运用局限和多个case语句搜检了switch语句。

本文来自 js教程 栏目,迎接进修!

以上就是详解JavaScript中Switch语句的用法的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
【WEB前端开辟】详解JavaScript中Switch语句的用法

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>