文章导航

JavaScript switch与if else语句的区别

2018-9-4 03:09| 作者: admin| 查看: 2157| 评论: 0|来自: 蚂蚁部落

switch和if else都是流程控制语句,非常相似。

关于两者基本用法可以参阅以下两篇文章:

(1).switch语句可以参阅JavaScript switch 语句一章节。

(2).if else语句可以参阅JavaScript if else 语句一章节。

虽然功能比较相似,但是区别也是很大的,下面就通过代码实例做一下简单介绍。

功能区别一:

当满足指定条件后,if else语句就会指定与条件相关联的分支代码,其余的分支不会再有机会被执行。

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
let num=5;
if(num>7){
  console.log("数字大于7");
}else if(num>6){
  console.log("数字大于6");
}else if(num>5){
  console.log("数字大于5");
}else if(num>4){
  console.log("数字大于4");
}else{
  console.log("前面条件都不满足");
}

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/04/031050czd3dnz64duu1ob3.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述代码中,只会执行与满足条件分支关联的代码,其他分支关联代码不会有机会再执行。

如果不使用if else语句而是单纯if语句的罗列,每一条语句都会执行到。

[JavaScript] 纯文本查看 复制代码运行代码
let num=5;
if(num>7){
  console.log("数字大于7");
}
if(num>6){
  console.log("数字大于6");
}
if(num>5){
  console.log("数字大于5");
}
if(num>4){
  console.log("数字大于4");
}

上述代码中,每一个if语句都会执行,但是此时不能将多个if语句看做一个独立的功能单元,而是应该看做多个功能单元,与if else不同。再来看一下switch语句,代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
let num=6;
switch(num){
  case 7:
    console.log("数字等于7");
    break;
  case 6:
    console.log("数字等于6");
  case 5:
    console.log("数字等于5");
  default:
  console.log("蚂蚁部落");
}

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/04/031143s4ktz2gn9gnajnag.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

第一个case匹配,由于没有使用break,执行完与其相关联的代码之后,还会继续执行其他case关联的代码。

关于这方面知识可以参阅switch不加break情况分析一章节。

功能区别二:

在多条件判断的时候,switch语句的性能更好,深层次原因这里不做介绍,记住就好。

switch语句能够实现的判断if else都能够实现,但有些if else实现的switch语句则难以实现。

使用规则大致如下:

(1).在进行区间条件判断的时候,if else非常适合,switch则很难实现。

(2).在进行固定值条件判断的时候,switch则是更好的选择,性能更为优良。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部