While 和 For 循环的输出差异 JavaScript - Newbee

Difference in output between While and For loop JavaScript - Newbee

这是一道基础题; 我似乎无法理解为什么在下面的代码中 while 循环 输出以 2 个“#”开头,for 循环从1开始


let brick = "#";
while (brick.length < 8){

 brick += "#";
  console.log(brick);
}
console.log("For Loop");
for (let i = "#"; i.length <8; i+="#"){
 console.log(i) 
}

因为在 while 循环中,您在 beforefor 循环中递增 写入控制台后。

将您的 brick += "#"; 移动到 while 循环的末尾,它们将以相同的方式运行:

let brick = "#";

while (brick.length < 8) {
    console.log(brick);
    brick += "#";
}

For 循环:

for (let i = "#"; i.length < 8; i += "#")
                                  ^ happens AFTER each iteration

您已经在开始时设置了积木。但是,当您在 for 循环中循环时,循环结束后长度会增加。而相反的情况发生在 while 循环中。