JS if else vs if if and continue in a loop

时间:2015-11-18 08:38:08

标签: javascript loops if-statement continue

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

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

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

感谢您的意见

2 个答案:

答案 0 :(得分:1)

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

如果内部for循环很长且很复杂且包含许多其他东西,那么使用 continue 可能是一个更好的选择,因为它清楚地告诉读者它没有不管循环中还有什么,它将进入下一次迭代。使用if / else意味着用户必须确认没有更低的代码将在if / else之后执行。

在另一种情况下,使用 if / else 可能会更好,因为使用continue可能会导致代码重复,或者稍后的维护可能会在循环结束时添加几行,并认为每个迭代将通过它(如果其他人可能会在以后修改它,总是让你的代码尽可能地防范!)。

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

答案 1 :(得分:0)

zerkms如何注意到,js interpreter将类似地运行此代码。

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