在执行时间循环中使用继续
Using continue in a do-while loop
MDN声明:
当您使用不带标签的
continue
时,它会终止最内层封闭while
、do-while
或for
语句的当前迭代,并在下一次迭代中继续执行循环。
我不确定为什么以下代码没有按预期工作。
do {
continue;
} while(false);
即使while
条件是 false
,我希望它会永远运行,因为continue
跳向块的开头,它会立即再次执行continue
,等等。 但是,不知何故,循环在一次迭代后终止。看起来continue
被忽略了。
do-while
循环中的continue
如何工作?
看看这个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() );
它似乎命中继续,然后脱离该迭代以运行检查条件。 由于条件为 false,因此它将终止。
continue
不会跳过检查while(false)
,而只是忽略括号内的其余代码。
Continue 停止执行块中的其余代码,并直接跳转到循环的下一次迭代。
由于您正在执行while(false)
因此没有下一次迭代
continue
不会再次从当前迭代开始,而是跳到下一个迭代(如MDN引用中所述)。
由于false
条件,没有下一次迭代 - 因此整个循环完成。
我希望它会永远运行,因为继续跳到开始 块
continue
不会跳到块的开头,而是跳到块的末尾。
继续之后,评估循环条件,因为它是假的,循环将终止。
使用 while(true)
获取无限循环。
如果将while(false)
替换为while(true)
,则会得到无限循环。
do {
continue;
} while(true);
continue
跳到块的末尾,在 do-while 循环中,它将执行条件语句。
在您的情况下,您的条件是错误的,因此它会终止循环。如果该条件true
,它将在循环开始时继续。
相关文章:
- 如何优化这个jquery循环的执行时间
- 如何使我的javascript在页面加载后继续执行
- 不确定react.js的异步执行时间
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- Javascript渲染.如何编写Javascript;t在函数调用结束之前继续执行代码
- Javascript:在css动画之后继续执行
- 为什么javascript ES6 Promises在解析后继续执行
- 如何在boomrang页面加载时间中添加ajax执行时间
- 浏览器在“打开”之后继续执行Javascript;PageUnload”&新的“;PageLoad”;
- 执行时间,AMPScript/JavaScript
- 测量JavaScript函数的内存使用情况、执行时间和性能
- 停止 C# 在下拉列表 javascript 验证失败时继续执行服务器端脚本
- 代码只执行一次,但应该继续执行
- 等待 AJAX,然后再继续执行单独的函数
- JavaScript代码执行时间
- 在执行时间循环中使用继续
- 即使在 JS 中声明后,继续的时间也已过
- 在 Mac 上的 Firebug 中继续执行脚本的快捷方式是什么?
- for 循环元素的执行时间比内部 AJAX 调用可以响应的要快
- JSON 失败并继续执行代码