我有一些看起来像这样的代码:
for(...){
if(something){
...;
continue;
}
for(...){
...;
}
}
现在我想知道将continue
替换为包含第二个循环的else
块是否是更好的解决方案。
感谢您的意见
答案 0 :(得分:1)
放入else块会使代码在功能上等效,是的。至于它是否更好?就像其他人所说的那样,JS翻译无需关心 - 无论如何,它都会以同样的方式处理它。唯一重要的是人类的可读性。
如果内部for循环很长且很复杂且包含许多其他东西,那么使用 continue 可能是一个更好的选择,因为它清楚地告诉读者它没有不管循环中还有什么,它将进入下一次迭代。使用if / else意味着用户必须确认没有更低的代码将在if / else之后执行。
在另一种情况下,使用 if / else 可能会更好,因为使用continue可能会导致代码重复,或者稍后的维护可能会在循环结束时添加几行,并认为每个迭代将通过它(如果其他人可能会在以后修改它,总是让你的代码尽可能地防范!)。
归根结底,它归结为意见和编码标准(如果它是一个更大的项目的一部分,那么它应该尽可能地匹配其他地方)。做任何使代码最容易理解的东西。如果可以的话,请其他人查看最终产品,看看他们是否对您有不同的看法 - 它总是更容易阅读您自己的代码,让别人看到它可以突出显示的事情&# 39;你的想法非常清楚!
答案 1 :(得分:0)
zerkms如何注意到,js interpreter将类似地运行此代码。
在我看来,带有if..else
语句的代码变得更具可读性,并且当这个循环步骤无关时,也可以使用continue
语句。