for循环中的另一个for循环

时间:2014-07-08 18:02:03

标签: javascript for-loop

无法理解为什么这段JavaScript代码输出100。

var num = 0;

for (var i=0; i < 10; i++) {
    for (var j=0; j < 10; j++) {
        num++;
    }
}

alert(num); // 100

6 个答案:

答案 0 :(得分:2)

对于外循环的每次迭代,内循环运行10次。由于外循环也运行10次,因此内循环运行10 x 10次,即100

考虑内循环的一次迭代。它运行10次,对吗?由于num最初为0,因此在内循环首次运行后,num将为10。我前面提到过,对于外部循环的每次迭代,内部循环运行10次,因此在外部循环的每次迭代之后,num基本上增加10。这意味着您最终得到的num等于100

答案 1 :(得分:1)

尝试运行此功能,您可以观看ijnum的行为:

var num = 0;
for (var i = 0; i < 10; i++) {
    for (var j = 0; j < 10; j++) {
        alert("i = "+i+", j = "+j+", num = "+num);
        num++;
    }
}
alert(num);

i迭代10次,j迭代到10 i次,因此num递增100次(10 * 10)

答案 2 :(得分:0)

因为你有嵌套for循环。所以内部10将执行10次。 10 ^ 2 = 100。

答案 3 :(得分:0)

内圈循环10次。

    for (var j=0; j < 10; j++) {
        num++; // 10
    }

然后它再做10次因为它处于for循环中。

for (var i=0; i < 10; i++) {
   // each time this runs you will add 10.
}

最后,内部for循环将运行100次。每次调用10次。它被称为10次。 10 * 10 = 100。

答案 4 :(得分:0)

for循环循环x次。

var count = 0;
for(var i = 0; i < 10; i++)
    count++;
//count = 10

顺序循环ADD

var count = 0;
for(var i = 0; i < 7; i++)
    count++;
for(var i = 0; i < 10; i++)
    count++;
//count = 17 // 7 (first) + 10 (second)

但循环内循环MULTIPLY(因为每个OUTER循环都执行每个INNER循环)

var count = 0;
for(var i = 0; i < 4; i++)
    for(var i = 0; i < 10; i++)
        count++;
//count = 40 // 4 (outer) * 10 (inner)

因此,要计算循环迭代,将内部乘以外部,或者顺序添加第一个,然后是第二个

答案 5 :(得分:-1)

内循环执行10次。 内循环执行10次。 内循环执行将1添加到num; 添加1的10 * 10产生100