通过警报结果了解嵌套for循环的过程

时间:2017-10-24 22:01:38

标签: javascript loops variables for-loop alert

警报结果是13,我不确定获取它的过程是什么。我理解循环的作用和+ =的意思,但不确定它们的连接或第二个循环如何影响结果。

var v=1;

for(i=1;i<5;i++)
  for(j=2;j<5;j++)
    v+=1;

alert(v);

2 个答案:

答案 0 :(得分:1)

第一个循环运行4次(形式1到4)。第二个循环运行3次(从2到4)。因此内部指令执行4 * 3 = 12次,我们有12个增量(+ = 1)。当初始值为1时,你得到的(1 + 12)是13。

答案 1 :(得分:1)

这实际上是一个非常简单的问题,您可以在任何语言中看到。

在代码的第一行,你声明“v”,它在内存中留出一点点来保留一个值。

当您说v=1时,您将值“1”保存在该小内存中。

当你说v+=1时,你说“从那个小内存中获取值,加一个内存,然后把结果放到那个小内存中。

你有两个循环,所以内部循环每次i发生变化时都会执行一次 - 所以你最终会得到v+=1

由于你以1开始,你的结果会计算(4 * 3)+ 1

我是如何获得“4 * 3”处决的?你的内部循环以值2开始,并且值为5. 5-2 = 3.这就是三个。外环从1开始,到5结束; 5-1 = 4。