javascript - 为什么 if 语句优先于 switch 语句?
问题描述
我对从头开始编程相当陌生,但有阅读和修复代码的经验。通过实际的课程和学习,我注意到 IF 语句的实现比 Switch 语句更多。有什么区别,为什么学习材料总是需要 if 语句?
我看过一些关于 stackoverflow 的不同文章,但它们是针对特定问题的,从头开始编写脚本时,这更多的是全局。
解决方案
if 语句
- 允许检查多个状态,这通常是必要的。
- 允许以比 switch 语句少得多的代码检查单个布尔值
- 提供总体上更容易遵循的逻辑,尤其是在嵌套时比开关更容易遵循
切换语句
- 允许轻松检查具有多种可能变化的状态。当有 3 个以上的可能状态时,它最有用。
- 允许轻松添加和处理新的可能状态。这对于应用程序的未来扩展很有用。例如,如果一个 API 将来可能包含更多路由。
- 允许以相同方式或非常密切地处理的状态轻松分组。这也非常清晰且易于调整。
它们都有各自的优点,但是当if之类的东西可用时,使用switch 语句就更合适了。
作为一名开发人员,您为工作选择了正确的工具,如果某样东西的性能更高或相同,更多或一样清晰,并且允许更少的代码,这就是经常使用的工具。
还值得注意的是,在某些情况下,您可以在 switch 中使用 if 语句。没有什么说你必须使用一个或另一个 - 这一切都基于组织、代码可读性和实用性。
作为一个旁注,因为你提出了课程作业......
看,在发展过程中和在现场是完全不同的动物。我亲眼看到过糟糕的大学课程,这些课程实际上只教有抱负的开发人员使用if...else if...else控制语句。我已经从字面上(我的意思是字面意思)看到了一个最近的研究生代码,当一个简单的数组检查就足够了并且可以节省时间、一百多行代码以及其他所有人的理智时,我已经看到了几十个这样的语句项目(即我)。
学校就是学校。您可以按照他们的意愿进行工作,即使这并不是最实用或最有效的,但当您进入该领域时,请记住通常有更好的方法。
我之所以提到这一点,是因为您可能已经看到一些让您说“但我为什么不直接做 X? ”的东西。我在这里告诉你,你可能是对的,所以请抬起头来。自行研究,并随时询问有更多经验的人。好奇心是优秀开发人员的标志,当您进入该领域时,您将变得更有能力和价值。
推荐阅读
- css - z-index 和超链接不可点击
- java - 没有可用的“xxx.dao.AreaDao”类型的合格 bean:预计至少有 1 个有资格作为自动装配候选者的 bean
- mysql - 使用mysql导入数据库时丢失数据
- google-cloud-platform - 将 Airflow Operator 与 Google Cloud Bucket 连接
- css - 将球拍颜色与 CSS 颜色转换
- python - 如何为 python usign grpcio_tools.protoc 编译 homegraph google api 原型文件?
- php - 澄清 preg_match() | preg_match() 会接受来自 SQL 查询结果的数据吗?
- flutter - 如何不在文本周围创建边框,而是在框边框周围创建边框?
- javascript - 使用 javascript 函数将一个 unicode 转换为另一个
- php - 在 PHP 中的现有数组中创建一个数组