开发者问题收集

While 循环逻辑

2017-08-17
81

我只是想问一下有关 while 循环逻辑的问题。 因此,当您编写一个循环,向文档显示一串数字,并说当循环等于(小于 )5 时,您告诉循环每次当条件成立时加 1,这是否意味着:当循环等于 5 时,它也会将 5 加 1?事实并非如此,但我在练习时弄乱了一些代码,发现当它等于 5 时它不会加 1,但我认为它会...

console.log('2nd Loop:');
text = '';

// loop:
i = 1; 
while (i <= 5) {
  text += i + ' ';
  i += 1
}

console.log(text); // Should print `1 2 3 4 5 `.
3个回答

您的文本不显示 6 的原因不是因为 i 没有递增。而是因为文本在递增之前被添加了。

换句话说,当执行第 5 次循环时,文本将添加 5,然后它将增加 i,然后它将再次检查循环,这将不再有效,因此永远不会打印 6。

Erin
2017-08-17

在内存中,它加一。但它不会将其添加到文本中。

由于您在分配值后增加值,然后循环条件失败,因此它不会到达连接字符串的部分。

Ezenhis
2017-08-17

确实如此。只需输出 i ,您就会看到它是 6text 永远不会得到 6 ,因为您增加了 i

console.log('2nd Loop:');
text = '';

// loop:
i = 1; 
while (i <= 5) {
  text += i + ' ';
  i += 1
}

console.log(text,i); // Should print `1 2 3 4 5 `.
j08691
2017-08-17