我的while循环陷入无限循环

问题描述 投票:1回答:5

我正在学习JavaScript。我刚刚学会了while循环,并尝试做一些例子。

这是我的代码:

for (i=0; i<5; i++) {
    console.log ("for loops " + i);
}
do {
    console.log ("do once");
} while (i<8) {
    console.log ("while loops " + i);
    i++;
}

而且我期望下面的结果。

for loops 0
for loops 1
for loops 2
for loops 3
for loops 4
do once
while loops 5
while loops 6
while loops 7

但是,不幸的是,我的浏览器陷入了无限循环。为什么这个循环是无限的?

javascript loops do-while
5个回答
0
投票

在JavaScript中,do-while循环具有以下语法:

do{
  commands();
} while (logical statement);

所以您写道:

do {
  console.log ("do once");
  // missing increment
} while (i<8);

{ // these { } are not part of any loop, but just a scope block
  console.log ("while loops " + i);
  i++;
}

浏览器陷入了无限循环,因为在while循环内变量i没有增加。您应该尝试以下操作:

for (i=0; i<5; i++) {
  console.log ("for loops " + i);
}

console.log ("do once");
do {
  console.log ("while loops " + i);
  i++;
} while (i<8);

希望有所帮助


1
投票
for (i=0; i<5; i++) {
    console.log ("for loops " + i);
}

do {
    console.log ("do once");
} while (i<8) 

{
    console.log ("while loops " + i);
    i++;
}

也许可以这样查看原因

<< [“问题”是解释程序会将while视为do]的一部分>


1
投票
有效地,您写了:

1
投票
“ do / while循环是while循环的变体。该循环将执行一次代码块,在检查条件是否为真之前,只要条件为真,它将重复循环。”

0
投票
您需要确保循环内的增量。参见此示例。
© www.soinside.com 2019 - 2024. All rights reserved.