if else 和 switch 的区别和选择

您所在的位置:网站首页 举例说明if语句的结构 if else 和 switch 的区别和选择

if else 和 switch 的区别和选择

2023-09-17 00:26| 来源: 网络整理| 查看: 265

if else 和 switch 的选择

switch 一般用于单一条件的判断 if 一般用于连续区间值判断,复杂的多条件判断,或者动态表达式判断 if 和 switch 都可以设计多重分支结构,一般情况下 switch 执行效率要高于 if 语句,代码可读性也高,如果能够使用switch结构,就不要选择if结构。 无论是使用if还是使用switch结构,应该遵循一下原则:

准确表现事物内在的、固有的逻辑关系。不能为了结构而破坏事物的逻辑关系。优化逻辑的执行效率。执行效率是程序设计的重要目标,不能为了省事而随意耗费资源。简化代码的结构层次,使代码更方便阅读。 switch用法

离散形判断

switch (sex) { case 1 : console.log("女士"); break; case 2 : console.log("男士"); break; default : console.log("请选择性别"); }

if-else 适用于判断两个离散的值或者判断几个不同的值域 如果判断多于两个离散值,switch是更理想的选择。

没有break会继续执行

switch(num){ case 1: case 2: //相當於if(num==1 || num==2) console.log("show 1 or 2!!"); break; case 3: case 4: //相當於if(num==3 || num==4) console.log("show 3 or 4!!"); break; default: //相當於else console.log("show others!!") } if 和 switch 的转换

线性区间值判断一般用if

if (score console.log("合格"); }else if (score console.log("优秀"); }

switch也可以, 匹配表达式写成true:

switch (true) { case score return ; }

改为:

if(!condition){ return ; } //doSomething 三目运算 let a; if(condition){ a = A }else{ a = B }

改为:

let a = condition ? A : B 多条件同时判断,将一层判断语句变成两层判断语句 if(a > 0 && b > 10) { return A } else if (a > 0 && b return C } else { return D }

改为:

if(a > 0) { if (b > 10) { return A } else { return B } } else { if (b > 10) { return C } else { return D } } 条件以最大概率出现到最小概率出现依次排列, 减少判断次数判断条件较多并在一定区间内,可使用二分搜索法将值域分成了一系列区间,减少代码的平均运行时间 if (value == 0){ console.log('result0') } else if (value == 1){ console.log('result1') } else if (value == 2){ console.log('result2') } else if (value == 3){ console.log('result3') } else if (value == 4){ console.log('result4') } else if (value == 5){ console.log('result5') } else if (value == 6){ console.log('result6') } else if (value == 7){ console.log('result7') } else if (value == 8){ console.log('result8') } else if (value == 9){ console.log('result9') } else { console.log('result10') }

改成:

if(value if (value == 0){ console.log('result0') } else if (value == 1){ console.log('result1') } else (value == 2){ console.log('result2') } } else { if (value == 3){ console.log('result3') } else if (value == 4){ console.log(result4) } else (value == 5){ console.log('result5') } } } else { if(value console.log('result6') } else (value == 7){ console.log('result7') } } else { if (value == 8){ console.log('result8') } else if (value == 9){ console.log('result9') } else (value == 10){ console.log('result10') } } }


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3