我是javascript的新手,想知道为什么我有四个返回值:
for(i=0; i < 10; i++) {
i = i * i;
console.log(i);
}
// 0
// 1
// 4
// 25
答案 0 :(得分:3)
因为你在循环中设置了i的值。
最初i = 0;打印0x0 = 0; i = 0
下一次迭代i = 1;打印1x1 = 1; i = 1
下一次迭代i = 2;打印2x2 = 4; i = 4
下一次迭代i = 5;打印5x5 = 25; i = 25
我现在大于10,因此满足循环退出条件。
答案 1 :(得分:1)
执行此代码段以获得一些解释:
var iterations = ['First', 'Second', 'Third', 'Fourth']
var j = 0;
for (i = 0; i < 10; i++) {
var iteration = iterations[j++];
console.log(`${iteration} iteration with i = ${i} and multiplying ${i} x ${i} =`, i * i);
i = i * i;
}
console.log(`The for-loop ends because i = ${i} > 10`);
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;
答案 2 :(得分:0)
循环逻辑出错。 由于循环将i的值设置为自身的乘积,因此循环的每次迭代都会重复增加:
i = i * i;
它使我大于10(在你的例子中为25)并终止循环。如果你创建了一个变量,比如j设置为i * i的乘积,那么它将循环10次。像这样:
for(i=0; i < 10; i++) {
var j = i * i;
console.log(j);
}
答案 3 :(得分:0)
由于您在for语句中设置的先前条件,循环中断; “ i <10”。通过在“ i = i * i”中为i分配新值,将覆盖增量值“ i ++”,从而提供了for循环。要更正此问题,请将“ i * i”乘积中的值分配给其他变量名,例如“ s = i * i”,这样就可以使循环完整完成。