在do-while循环中继续使用

问题描述 投票:14回答:7

MDN states:

当使用不带标签的continue时,它将终止最里面的whiledo-whilefor语句的当前迭代,并在下一次迭代时继续执行循环。

我不确定为什么下面的代码无法按预期工作。

do {
  continue;
} while(false);

即使while条件为false,但我希望它会永远运行,因为continue跳到了块的开头,块立即又执行了continue,依此类推。但是,无论如何,循环会在一个开始后终止迭代。似乎continue被忽略了。

continue循环中的do-while如何工作?

javascript loops iteration do-while continue
7个回答
11
投票

检查此jsFiddle:http://jsfiddle.net/YdpJ2/3/

var getFalse = function() {
  alert("Called getFalse!");
  return false;
};

do {
  continue;
  alert("Past the continue? That's impossible.");
} while( getFalse() );​

9
投票

[continue不会跳过检查while(false),而只是忽略括号内的其余代码。


5
投票

Continue停止执行块中其余代码,并直接跳转到循环的下一个迭代。


4
投票

[continue不会从当前迭代重新开始,而是跳到下一个(如MDN引用中所述)。


3
投票

在继续之后,将评估循环条件,因为它为假,所以循环将终止。


3
投票

我希望它会永远运行,因为继续向 块


0
投票

使用while(true)获得无限循环。

© www.soinside.com 2019 - 2024. All rights reserved.