首页 > 解决方案 > Javascript Do while 循环仅在一次迭代后停止

问题描述

我有一个 do while 循环,它只在一次迭代后停止,尽管条件不止一次有错误的结果。另一件事 - while 语句之后的所有内容都不会执行。代码很长,所以这里是一个测试条件的例子:

do {
  let x = 0;  
  let y = 3;

  for (let j = 0; j < 9; j++) {
    if(j%2==0){
      x++;
    }
  }
} while (x < y);

有谁知道为什么?

标签: javascriptiterationdo-whilebreak

解决方案


do 语句中 x 和 y 的范围意味着它不在 while 语句中。但是您的代码循环多次

let x=0;  
let y=3;
do{

 
 for (let j=0; j<9; j++){
 if(j%2==0){x++;}
 console.log(x,y) 
   }
   
 }while(x<y);
 

   
do{
  let x=0;  
  let y=3;

 
 for (let j=0; j<9; j++){
 if(j%2==0){x++;}
 console.log(x,y) 
   }
   
 }while(x<y);
 


推荐阅读