while循环超过指定条件?

时间:2012-06-22 15:39:35

标签: javascript while-loop

计算并显示(2到10次幂)

的值的程序

这个语句导致1024.我不理解它在达到“9”后如何保持循环。 "< 10"是否意味着循环十次,或循环到小于“10”的总和?希望有人向我解释这个。谢谢!

var result = 1;
var counter = 0;
while (counter < 10) {
  result = result * 2;
  counter = counter + 1;
}
show(result);

6 个答案:

答案 0 :(得分:11)

您的计数器正在运行十次,每次运行一次,值为0-9。当写这样的循环(包括<)时,我认为10“这个循环将运行十次”。对于像这样的小问题,它有很多帮助。

请记住,编程中只有两个非常困难的事情:缓存验证,变量替换和逐个错误。

答案 1 :(得分:4)

loop 1: result = 1*2 (2) counter = 1
loop 2: result = 2*2 (4) counter = 2
loop 3: result = 4*2 (8) counter = 3
...
loop 10: result = 512*2 (1024)counter = 10

答案 2 :(得分:2)

它循环10次,因此它乘以10倍,因此给你2 ^ 10 = 1024.完全正确。 附:如果你只想要这个乘法,你最好用

result = 1 << 10

答案 3 :(得分:2)

是十次0到9 = 10.

当编译器看到10&lt; 10它评估为假。如果要查看10将条件更改为&lt; =

答案 4 :(得分:2)

如果满足while循环的条件,程序将只进入循环内部。所以你在进入循环之前检查

如果您希望程序再次进入循环内部,请使用do-while循环,在执行循环后检查条件。 您也可以将条件更改为“counter&lt; = 10”并按原样使用while循环。

Here你可以找到关于while- / do-while-loops以及javascript中断的更多信息。

答案 5 :(得分:0)

counter为1时,result为2 ^ 1 当counter为2时,result为2 ^ 2

由于counter在循环结束时为10result2^10