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