Javascript 关于循环和继续的问题

Javascript 关于循环和继续的问题,javascript,loops,Javascript,Loops,那么这实际上是将循环命名为nextLoop?所以,当它说“继续下一步”时,它会立即返回顶部吗 var total = 0; nextLoop: for ( var i = 0; i < 7; ++i ) { for ( var j = 0; j < 6 ; ++j ) { if ( i < 5 ) continue nextLoop;

那么这实际上是将循环命名为
nextLoop
?所以,当它说“继续下一步”时,它会立即返回顶部吗

   var total = 0;
        nextLoop:
        for ( var i = 0; i < 7; ++i ) {
            for ( var j = 0; j < 6 ; ++j ) {
                if ( i < 5 )
                continue nextLoop;
                total++;
                }
            total++;
        }
    total++;
    document.write( total );
var总计=0;
下一步:
对于(变量i=0;i<7;++i){
对于(var j=0;j<6;++j){
如果(i<5)
继续下一步;
总计++;
}
总计++;
}
总计++;
文件。填写(总计);
编辑:


这是命名循环
nextLoop:
?如果是这样,你还能说出什么?有没有提到为什么命名东西会有用?

有。当一个循环嵌套在另一个循环中,并且希望继续外部循环时,这非常有用。关于它。因此,在您的情况下,在
i=2
循环期间,如果在
j
循环中,您说
continue nextLoop
,它将跳出
j
循环,执行
i
增量,然后继续执行
i=3

在标签上使用
continue
通常不是好的做法;它可以指示逻辑需要重构。但这在语法上是完全正确的,我希望有人会插话,举例说明他们认为这是绝对必要的


Edit回答您的编辑,循环的标签(名称)是
nextLoop
(不带冒号):您可以标记语句,然后将这些标签用作
continue
break
的目标。查看详细信息。典型的用法是像您的示例中那样标记循环,并且
continue
break
它们,但是请注意
break
也适用于嵌套的
switch
语句——您可以像标记循环一样标记它们,并从内部的一个案例中断开到外部的循环。您甚至可以将它们混合在一起,这样您就可以从交换机中断开一个循环(标签名称空间对两者都是通用的)。

确实如此。但是你应该避免。这是一种不好的做法,类似于
转到
。使代码难以阅读、理解和像意大利面条一样。是的,这是预期的行为。看一看

其他语言可以让您突破选定数量的内部循环, 如果(!x)中断2;将继续这一进程,在两个步骤

我见过有多个循环标签的复杂循环, 并继续调用特定的标签,但我同意这会混淆逻辑

通过在不使用continue的情况下写入循环,几乎可以始终提高循环的效率:

var total= 0;
nextLoop: 
for (var i = 0; i < 7; ++i ){
    for (var j = 0; j < 6 ; ++j ){
        if(i>4) total++;
    }
    total++;
}

total++; 
var总计=0;
下一步:
对于(变量i=0;i<7;++i){
对于(var j=0;j<6;++j){
如果(i>4)总计++;
}
总计++;
}
总计++;

我从来不知道如何回答这样的问题。答案是“是的,你完全正确”,但这似乎不值得一篇文章。更新了我的答案以回答你的编辑。我认为你在任何情况下都可以不使用它。感谢你提供有用的参考,说明它为什么有用!