网站地图    收藏    合作   
<

快捷菜单 返回顶部

if 和 switch 都可以设计多重分支结构,一般情况下 switch 执行效率要高于 if 语句。但是也不能一概而论,应根据具体问题具体分析。简单比较如表所示。

if 和 switch 的比较
语句 If 语句 Switch 语句
结构 通过嵌套结构实现多重分支 专为多重分支设计
条件 可以测试多个条件表达式 仅能测试一个条件表达式
逻辑关系 可以处理复杂的逻辑关系 仅能处理多个枚举的逻辑关系
数据类型 可以适用任何数据类型 仅能应用整数、枚举、字符串等类型

相对而言,下面情况更事宜选用 switch 语句。
下面情况更事宜用 if 语句。

示例1

本例设计根据学生分数进行等级评定:如果分数小于 60,则不及格;如果分数在 60 与 75 之间,则评定为合格;如果分数在75 与 85 之间,则评定为良好;如果分数在 85 与 100 之间,则评定为优秀。

根据上述需求描述,确定检测的分数是一个线性区间值,因此选用 if 语句会更合适。
if (score < 60) {console.log("不及格");}
else if (score < 75) {console.log("合格");}
else if (score <85) {console.log("良好");}
else {console.log("优秀");}
如果使用 switch 结构,则需要枚举 100 种可能,如果分数值还包括小数,这种情况就更佳复杂了,此时使用 switch 结构就不是明智之举。

示例2

设计根据性别进行分类管理。这和案例属于有效枚举条件,使用 switch 会更高效。
switch (sex) {  //离散值判断
    case 1 :
        console.log("女士");
        break;
    case 2 :
        console.log("男士");
        break;
    default :
        console.log("请选择性别");
}

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com