简单的 do/while 循环无限循环问题
simple do/while loop infinite loop issue
好的,首先,我对javascript非常陌生,并做了一些教程来尝试学习语言。我的问题可能非常简单,但我无法弄清楚!
好的,所以我做了一个非常简单的do/while循环。所有这些应该做的是将"执行条件,仅一次"打印到控制台,并将"do"打印5次到控制台。
然而,它进入了一个无限循环......可能是因为我在错误的地方定义了变量"doCondition",但我无法弄清楚逻辑上我应该把它放在哪里。
任何帮助感激地收到!如果你也能解释一下我哪里出错了,我将不胜感激。
非常感谢,
var doWhileLoop = function(text){
var doCondition = 5;
do {
console.log("do condition, once only");
};
while(doCondition > 0){
console.log(text);
doCondition--;
}
}
doWhileLoop("do");
虽然语法不正确,但在你的情况下,它就像
var doWhileLoop = function(text) {
var doCondition = 5;
//beginning of loop
do {
console.log(text, doCondition);
doCondition--;
} while (doCondition > 0); //end of loop
};
doWhileLoop("do");
open console....
编辑
而循环体不会在条件失败时执行
var whileLoop = function(text) {
var condition = 0;
//beginning of loop
while (condition > 0) {
console.log(text, condition);
condition--;
} //end of loop
};
whileLoop("while");
open console....
执行,而循环体将执行一次,即使条件失败
var doWhileLoop = function(text) {
var condition = 0;
//beginning of loop
do {
console.log(text, condition);
condition--;
} while (condition > 0); //end of loop
};
doWhileLoop("do while");
open console....
这不是因为变量 doCondition。这是因为你写错了。看看这个。
var doWhileLoop = function(text){
var doCondition = 5;
do {
console.log("do condition, once only");
doCondition--;
}while(doCondition > 0)
}
doWhileLoop("do");
这是
预条件循环(while(condition) {...}
(和后条件循环(do{...}while(condition);
(之间的区别。
主要区别在于,后条件循环在评估条件之前将始终至少运行一次代码块,而预条件循环将首先尝试在运行其代码块之前评估条件
在您的示例中,您忘记了后条件循环中的条件,因此它会永远循环。
引用:
-
do...while
(后调节循环( -
while....
(预调节回路(
你拥有的不是单个循环,而是两个单独的循环。do {} while()
循环和while() {}
循环的区别仅在于是在每次迭代之前还是之后计算条件。
do...while
循环中没有初始的"执行一次"步骤。只需将要执行一次的代码放在循环之前:
var doWhileLoop = function(text){
var doCondition = 5;
console.log("do condition, once only");
do {
console.log(text);
doCondition--;
while (doCondition > 0);
};
doWhileLoop("do");
相关文章:
- 使用滚动溢出-x进行无限循环
- 超过了最大调用堆栈大小,循环无限
- 从index.html调用函数,该函数无限循环
- 使用jQuery无限循环播放HTML页面幻灯片
- Grunt任务没有加载,获得无限循环
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- Backbone+RequireJS+Mediator模式导致视图逻辑短路和无限循环
- jQuery无限循环,动画化许多项目
- 如何避免试图用php+jquery显示php起始页的无限循环
- 6502仿真增强型基本无限循环$C000至$E0ED
- Angular ngRoute导致无限循环和堆栈溢出
- Jquery:无限循环和暂停
- 数组数组:无限循环
- MeteorJS使用流星调用和流星方法时的无限循环
- 如何无限循环数据集字符串
- jquery在无限循环中运行
- 遍历对象会导致无限循环
- 为什么内部Javascript循环会阻止外部循环中断(即无限循环)
- 为什么while循环无限循环
- 简单的 do/while 循环无限循环问题