为什么if语句优先于switch语句?

时间:2019-11-10 04:33:25

标签: javascript

我是从头开始编程的新手,但是具有阅读和修复代码的经验。通过实际的课程和学习,我注意到与Switch语句相比,在IF语句上实现的更多。有什么区别?为什么学习材料总是想要if语句?

我看过一些关于stackoverflow的文章,但是它们都是针对特定问题的,这从头开始编写脚本时更能说明问题。

3 个答案:

答案 0 :(得分:2)

如果声明

  • 允许检查经常需要的多个状态。
  • 允许使用比switch语句少得多的代码来检查单个布尔值
  • 通常更易于遵循的报价逻辑,尤其是嵌套时比开关更容易

切换语句

  • 允许轻松检查具有多种可能变化的一种状态。当存在3种以上可能的状态时,此功能最为有用。
  • 允许轻松添加和处理新的可能状态。这对于将来扩展应用程序很有用。例如,如果API将来可能包含更多路由。
  • 允许对将以相同方式或非常紧密地处理的状态进行轻松分组。这也非常清楚并且易于调整。

它们都有优点,但是当有 if 之类的东西时,使用 switch语句更为合适。

作为开发人员,您会选择合适的工具来完成工作,并且如果某项功能或多或少与性能相同,更多或相同而易读,并且允许的代码更少,那么通常会使用该工具。

还值得注意的是,在某些情况下,您可能会在开关内使用if语句。没什么好说的,您必须使用其中一种-这完全基于组织,代码可读性和实用性


作为旁注,因为您提出了作业...

看起来,处于发展过程中和处于野外的是完全不同的动物。我亲自看过可怕的大学课程,这些课程实际上只是向有抱负的开发人员讲授 if ... else if ... else 控制语句。我已经看过最近的研究生代码,从字面上看(我的意思是字面上的意思)是数十条这样的语句,这些语句只需进行简单的Array检查就可以了,并且可以节省一百多行代码,以及项目中其他所有人(即我)的理智。

学校是学校。即使不是最实际或最有效的方法,也可以按照他们的意愿进行工作,但是当您进入该领域时,请记住,通常会有更好的方法。

我之所以只提及这一点,是因为您可能已经看到一些让您说“ 但为什么我不只是做X?”的内容。我在这里告诉您,您可能是对的,所以请保持警惕。自行研究,并随时询问有更多经验的人。 好奇心是优秀开发人员的标志,而进入该领域,您将变得更加有能力,更有价值。

答案 1 :(得分:0)

诸如if和switch之类的编程构造有其长处。我们在大多数情况下使用if来代替if。但是对于多状态检查开关,选择起来要容易得多。

答案 2 :(得分:0)

因为,如果您考虑逻辑,它(if)听起来会更好。

if(life_is_easy){
  just_sleep_you_will_succeed()
}else{
  struggle_for_success()
}

但是,如果您要进行长期的变量测试,则最好使用Switch。
您可能会注意到,以上句子还包含IF以形成逻辑咨询。