【问题标题】:JS if else vs if and continue within a loop [closed]JS if else vs if 并在循环中继续[关闭]
【发布时间】:2015-11-18 08:38:07
【问题描述】:

我有一些看起来像这样的代码:

for(...){
    if(something){
        ...;
        continue;
    }
    for(...){
        ...;
    }
}

现在我想知道用包含第二个循环的 else 块替换 continue 是否是一个更好的解决方案。

感谢您的意见

【问题讨论】:

  • 定义“更好”对您意味着什么。 JS 解释器不关心并且会以类似方式运行。
  • 完全基于意见。有些人不喜欢continuebreak 等。我不喜欢深嵌套和长范围。

标签: javascript loops if-statement continue


【解决方案1】:

放入 else 块会使代码在功能上等效,是的。至于是不是更好?就像其他人所说的那样,JS 解释器不在乎——无论如何它都会以同样的方式处理它。唯一重要的是人类可读性。

如果内部 for 循环又长又复杂,并且包含许多其他内容,那么使用 continue 可能是一个更好的选择,因为它清楚地向读者表明,什么都没有关系else 在循环中,它将进入下一次迭代。使用 if/else 意味着用户必须确认没有在 if/else 之后执行的代码。

在另一种情况下,使用 if/else 可能会更好,因为使用 continue 可能会导致代码重复,或者以后的维护可能会在循环末尾添加几行,认为每个迭代将通过它(如果其他人可能稍后修改它,请始终使您的代码尽可能地防傻!)。

归根结底,它归结为意见和编码标准(如果它是一个更大项目的一部分,那么它应该尽可能地匹配其他地方的内容)。做任何让你最容易理解代码的事情。如果可以的话,请其他人看看最终产品,看看他们是否对你有不同的看法——阅读自己的代码总是更容易,让别人看它可以突出显示不太清楚的东西就像你想象的那样!

【讨论】:

    【解决方案2】:

    zerkms 注意到了,js 解释器会以类似方式运行这段代码。

    在我看来,带有if..else 语句的代码变得更具可读性,并且continue 语句也可以在循环的这一步无事可做时使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-30
      • 2022-11-19
      • 2021-05-05
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多