好的,首先,我是非常新的javascript和做一些教程尝试和学习语言。我的问题可能非常简单,但我无法解决这个问题!
好的,所以我做了一个非常简单的do / while循环。所有这一切应该是印刷"做条件,只有一次"一次到控制台和打印"做" 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");
答案 0 :(得分:0)
做..虽然语法不正确,但在你的情况下,它就像
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....

修改强>
while循环体在条件失败时不会执行
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....

即使条件失败,while循环体也会执行一次
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....

答案 1 :(得分:0)
这是预条件循环(while(condition) {...}
)和后置条件循环(do{...}while(condition);
)之间的差异。
主要区别在于,在评估条件之前,后置条件循环总是至少运行代码块 ,而预条件循环将首先尝试在运行其代码块之前评估条件
在你的例子中,你已经忘记了后置条件循环中的条件,所以它永远循环。
参考文献:
答案 2 :(得分:0)
这不是因为变量doCondition。这是因为你写的是你做错了。看看这个。
var doWhileLoop = function(text){
var doCondition = 5;
do {
console.log("do condition, once only");
doCondition--;
}while(doCondition > 0)
}
doWhileLoop("do");
答案 3 :(得分:0)
你所拥有的不是一个循环,而是两个独立的循环。 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");