当使用不带标签的
continue
时,它将终止最里面的while
,do-while
或for
语句的当前迭代,并在下一次迭代时继续执行循环。
我不确定为什么下面的代码无法按预期工作。
do {
continue;
} while(false);
即使while
条件为false
,但我希望它会永远运行,因为continue
跳到了块的开头,块立即又执行了continue
,依此类推。但是,无论如何,循环会在一个开始后终止迭代。似乎continue
被忽略了。
continue
循环中的do-while
如何工作?
检查此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() );
[continue
不会跳过检查while(false)
,而只是忽略括号内的其余代码。
Continue停止执行块中其余代码,并直接跳转到循环的下一个迭代。
[continue
不会从当前迭代重新开始,而是跳到下一个(如MDN引用中所述)。
在继续之后,将评估循环条件,因为它为假,所以循环将终止。
我希望它会永远运行,因为继续向 块
while(true)
获得无限循环。