JS编程建议——25:恰当选用if和switch-阿里云开发者社区

开发者社区> zhanginzaghi> 正文

JS编程建议——25:恰当选用if和switch

简介: 25:恰当选用if和switch
+关注继续查看

建议25:恰当选用if和switch
switch结构中存在很多限制,存在这些限制的主要目的是提高多重分支结构的执行效率。因此,如果能够使用switch结构,就不要选择if结构。
无论是使用if结构,还是使用switch结构,应该确保下面3个目标的基本实现:
准确表现事物内在的、固有的逻辑关系。不能为了结构而破坏事物的逻辑关系。
优化逻辑的执行效率。执行效率是程序设计的重要目标,不能为了省事而随意耗费资源。
简化代码的结构层次,使代码更方便阅读。
相对来说,下面几种情况更适合使用switch结构:
枚举表达式的值。这种枚举是可以期望的、平行逻辑关系的。
表达式的值具有离散性,不具有线性的非连续的区间值。
表达式的值是固定的,不是动态变化的。
表达式的值是有限的,而不是无限的,一般情况下表达式应该比较少。
表达式的值一般为整数、字符串等类型的数据。
而if结构则更适合下面的一些情况:
具有复杂的逻辑关系。
表达式的值具有线性特征,如对连续的区间值进行判断。
表达式的值是动态的。
测试任意类型的数据。
例如,针对学生分数进行不同的判断,如果分数小于60,则评定为不及格;如果分数在60~75(不包含75)之间,则评定为合格;如果分数在75~85(不包含85)之间,则评定为良好;如果分数在85~100之间,则评定为优秀。针对这种情况,表达式的值是连续的线性判断,显然使用if结构会更合适一些。

  1. if(score < 60){
  2. alert("不及格");
  3. }
  4. else if(60 <= score < 75){
  5. alert("合格");
  6. }
  7. else if(75 <= score < 85){
  8. alert("良好");
  9. }
  10. else if(85 <= score <= 100){
  11. alert("优秀");
  12. }
    如果使用switch结构,则需要枚举100种可能,如果分数值还包括小数,情况就更加复杂了,此时使用switch结构就不是明智之举。但是,对于有限制的枚举数据,比如性别,使用switch结构会更高效,例如:
  13. switch(sex){
  14. case "女":
  15. alert("女士");
  16. break;
  17. case "男":
  18. alert("先生");
  19. break;
  20. default:
  21. alert("请选择性别");
  22. }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
zhanginzaghi
IT菜鸟
90
文章
25
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载