无法理解为什么这段JavaScript代码输出100。
var num = 0;
for (var i=0; i < 10; i++) {
for (var j=0; j < 10; j++) {
num++;
}
}
alert(num); // 100
答案 0 :(得分:2)
对于外循环的每次迭代,内循环运行10
次。由于外循环也运行10
次,因此内循环运行10 x 10
次,即100
。
考虑内循环的一次迭代。它运行10
次,对吗?由于num
最初为0
,因此在内循环首次运行后,num
将为10
。我前面提到过,对于外部循环的每次迭代,内部循环运行10
次,因此在外部循环的每次迭代之后,num
基本上增加10
。这意味着您最终得到的num
等于100
。
答案 1 :(得分:1)
尝试运行此功能,您可以观看i
,j
和num
的行为:
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