Javascript 简单do/while循环无限循环问题
好的,首先,我对javascript非常陌生,正在做一些教程来尝试和学习该语言。我的问题可能很简单,但我想不出来 好的,我做了一个非常简单的do/while循环。所有这一切都应该做的是打印“do条件,仅一次”到控制台,并打印“do”到控制台5次 然而,它进入了一个无限循环。。可能是因为我在错误的地方定义了变量“doCondition”,但是我不能确定在逻辑上应该把它放在哪里 感谢您的帮助!如果你也能解释一下我错在哪里,我会非常感激 非常感谢,Javascript 简单do/while循环无限循环问题,javascript,loops,do-while,Javascript,Loops,Do While,好的,首先,我对javascript非常陌生,正在做一些教程来尝试和学习该语言。我的问题可能很简单,但我想不出来 好的,我做了一个非常简单的do/while循环。所有这一切都应该做的是打印“do条件,仅一次”到控制台,并打印“do”到控制台5次 然而,它进入了一个无限循环。。可能是因为我在错误的地方定义了变量“doCondition”,但是我不能确定在逻辑上应该把它放在哪里 感谢您的帮助!如果你也能解释一下我错在哪里,我会非常感激 非常感谢, var doWhileLoop = function
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=函数(文本){
var doCondition=5;
//循环开始
做{
console.log(文本、文档条件);
文件条件--;
}while(doCondition>0);//循环结束
};
doWhileLoop(“do”)代码>
打开控制台…
这是预条件循环(while(condition){…}
)和后条件循环(do{…}while(condition);
)之间的区别
主要区别在于,后处理循环在评估条件之前将始终至少运行代码块一次,而预处理循环将在运行其代码块之前首先尝试评估条件
在您的示例中,您已经忘记了后条件循环中的条件,因此它将永远循环
参考资料:
这不是因为可变的文档条件。这是因为你写的东西是错的。看看这个
var doWhileLoop = function(text){
var doCondition = 5;
do {
console.log("do condition, once only");
doCondition--;
}while(doCondition > 0)
}
doWhileLoop("do");
您拥有的不是单个循环,而是两个独立的循环。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");
什么是do
block?。。你想达到这样的目标。。。在do之后删除分号并尝试此语法do{},而(条件)由于第一个循环中的语法错误,代码根本不会运行。您正在使用的实际代码看起来是什么样子的?我可能完全误解了do/while循环,但我认为它们是用来分别运行do语句和while语句的?因此,不管while条件如何,do都将运行一次?是的,你是对的。执行while只执行一次,下一次迭代将取决于while条件。这里唯一的问题是做语法。啊。。。我想我明白了。我在想do语句将完全独立于while条件运行。因此,如果我有一个do/while语句,其中的while条件将其限制为5次,那么该语句实际上会运行6次,一次用于do,5次用于while?尽管do将运行一次,而不管是否满足while条件,但如果满足该条件,do将仅作为正常的while运行?