我尝试运行以下代码,但它不会工作,似乎它进入无限循环。你们有没有看到这个有什么问题?
var myBool = true
for(var i=0;i<10;i++){
console.log("Jippi " + i)
if(i===5) {
myBool = false;
console.log("!!!")
}
do {
console.log("While er fortsatt med")
} while(myBool==true);
}
我刚刚开始学习javascript,并想混淆一个-for,-if,-do和-while语句。你们有没有看到这个有什么问题?我没有收到任何错误。
答案 0 :(得分:0)
这是一个简单的逻辑错误。让我们逐步完成您的代码。
var myBool = true
每当您引用myBool
时,您都会得到&#34; true&#34;。
for(var i=0;i<10;i++){
您已经设置了一个执行10次的循环,除非循环体中有任何相反的指示。
第一次通过循环(称为第一次循环迭代),你会做
console.log("Jippi " + i)
这将打印&#34; Jippi 0&#34;到日志。
if(i===5) {
此时i
的值为0,所以我们跳过括号内的内容。
do {
这将至少执行一次
console.log("While er fortsatt med")
这将打印&#34;而er fortsatt med&#34;到日志。
} while(myBool==true);
这会设置一个循环。此时,myBool
为真,所以你回到do
之后的大括号:
{
console.log("While er fortsatt med")
}
再一次,你打印&#34;而呃fortsatt med&#34;到日志。
myBool
仍然是正确的,因此您只需重复console.log
语句。
我不确定你要完成什么,但要消除这里的无限循环,你只需要删除&#34; do-while&#34;循环。