这个for循环会发生什么?

时间:2018-04-03 16:17:18

标签: javascript for-loop

我仍然有点麻烦地掌握for循环中发生的事情。只是想知道是否有人愿意解释究竟发生了什么,使其输出等于16?提前谢谢!

var x = 1;
 for (var i = 0; i < 3; i++) {
  x += 5 * i;
 }

3 个答案:

答案 0 :(得分:2)

var x = 1;

x的值等于1,因此循环中的第一次迭代会说。

for (var i = 0; i < 3; i++) {
    x += 5 * i;
}

基本上这就是发生的事情:

x的值为1,在第一次迭代中,i的值为0,所以

x + (5*0) = 1 //Because 5*0 is 0 and 0+1 = 1

在第二次迭代中,x 1的值和i的值为1,所以

x + (5*1) = 6 // Because 5*1 is 5 + 1 = 6

在第三次迭代中,x的值为6,i的值为2,所以

x + (5*2) = 16 // Because 5*2 is 10 + 6 = 16

希望这有助于您了解正在发生的事情。

答案 1 :(得分:1)

for循环是一种执行一组指令一定次数的方法。在您的情况下,您正在执行3次操作。

第一遍:x = 1.将(5 * 0)加到x。 x = 1. i增加1,现在为1.

第二遍:x = 1.将(5 * 1)加到x。 x = 6. i增加1,现在为2.

第三遍:x = 6.将(5 * 2)加到x。 x = 16. i增加1,现在为3.

第四遍:控制变量i不再满足循环条件(i <3),因此它打破了循环,导致x的最终值为16

答案 2 :(得分:0)

循环运行3次,因为i值从0,1,2开始,在循环结束时X值也将变为16。