以下代码:
for (var x = 1; x < 2; x++) {
for (var y = 1; y < 5; y++) { x += y}
}
console.log(x)
为什么输出显示12?
循环不是这样计算的:
1 + 1 + 2 + 3 + 4 = 11
我不清楚添加额外1的位置。有人可以提供建议吗?
答案 0 :(得分:4)
额外的一个来自第一个循环中的x++
。你循环运行x=1
,内循环运行1+1+2+3+4
= 11
但是它会进行第一个循环x++
并变为12
。在检查条件之前,您的increment
操作将完成
for (var x = 1; x < 2; x++) {
for (var y = 1; y < 5; y++) {
x = x+y;
}
console.log("x inside loop- "+x);
}
console.log(x)