Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的do-while循环陷入无限循环_Javascript_Loops_Do While - Fatal编程技术网

Javascript 我的do-while循环陷入无限循环

Javascript 我的do-while循环陷入无限循环,javascript,loops,do-while,Javascript,Loops,Do While,我正在学习JavaScript。 我刚刚学习了DoWhile循环,并尝试做了一些示例 这是我的代码: 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++; } 但不幸的是,我的浏览器进入了无限循环。 为什么这个循环是无限的?f

我正在学习JavaScript。 我刚刚学习了DoWhile循环,并尝试做了一些示例

这是我的代码:

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(i=0;i实际上您已经写了:

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++;
}
do {
    console.log ("do once");
} while (i<8) 


您可能会混淆这两种不同类型的循环。
执行while
执行while
您需要确保循环内的增量。请参见此示例

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);

for(i=0;i在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++;
}
do{
console.log(“执行一次”);
//缺失增量
}while(i“do/while循环是while循环的一个变体。在检查条件是否为真之前,该循环将执行代码块一次,然后只要条件为真,它就会重复循环。”


当代码到达Do/While循环时,i=5。因此代码将重复“console.log(“Do once”);”直到i大于8。因此,它进入无限循环。

这就是为什么每个人都喜欢JavaScript ASI
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++;
}
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);