用于循环拼图的初学者javascript
我是javascript新手,我想知道为什么我得到了四个返回值:用于循环拼图的初学者javascript,javascript,loops,Javascript,Loops,我是javascript新手,我想知道为什么我得到了四个返回值: for(i=0; i < 10; i++) { i = i * i; console.log(i); } // 0 // 1 // 4 // 25 (i=0;i
for(i=0; i < 10; i++) {
i = i * i;
console.log(i);
}
// 0
// 1
// 4
// 25
(i=0;i<10;i++)的{
i=i*i;
控制台日志(i);
}
// 0
// 1
// 4
// 25
因为您正在循环中设置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
现在i大于10,因此满足循环退出条件 因为您正在循环中设置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
现在i大于10,因此满足循环退出条件 循环的逻辑中有错误。 由于循环将i的值设置为自身的乘积,因此i会随着循环的每次迭代而不断增加: i=i*i 它使i大于10(在您的示例25中),并终止循环。如果你创建了一个变量,比如说j是i*i的乘积,它会循环10次。大概是这样的:
for(i=0; i < 10; i++) {
var j = i * i;
console.log(j);
}
(i=0;i<10;i++)的{
var j=i*i;
控制台日志(j);
}
循环的逻辑中有错误。
由于循环将i的值设置为自身的乘积,因此i会随着循环的每次迭代而不断增加:
i=i*i
它使i大于10(在您的示例25中),并终止循环。如果你创建了一个变量,比如说j是i*i的乘积,它会循环10次。大概是这样的:
for(i=0; i < 10; i++) {
var j = i * i;
console.log(j);
}
(i=0;i<10;i++)的{
var j=i*i;
控制台日志(j);
}
执行此代码片段以获得一点解释:
var迭代=['First'、'Second'、'Third'、'4th']
var j=0;
对于(i=0;i<10;i++){
var迭代=迭代次数[j++];
log(`i=${i}的${iteration}迭代并乘以${i}x${i}=`,i*i);
i=i*i;
}
log(`for循环结束,因为i=${i}>10`)代码>
.as控制台包装{max height:100%!important;top:0;}
执行此代码段以获得一点解释:
var迭代=['First'、'Second'、'Third'、'4th']
var j=0;
对于(i=0;i<10;i++){
var迭代=迭代次数[j++];
log(`i=${i}的${iteration}迭代并乘以${i}x${i}=`,i*i);
i=i*i;
}
log(`for循环结束,因为i=${i}>10`)代码>
.as console wrapper{max height:100%!important;top:0;}
由于您在for语句中设置的先前条件,循环中断;“我<10”。通过在“i=i*i”中为i指定一个新值,可以覆盖为for循环提供的增量值“i++”。若要更正此问题,请将“i*i”的乘积中的值指定给不同的变量名,如“s=i*i”,这样您就可以在不中断的情况下完成循环。由于您在for语句中设置的先前条件,循环中断;“我<10”。通过在“i=i*i”中为i指定一个新值,可以覆盖为for循环提供的增量值“i++”。若要更正此问题,请将“i*i”的乘积中的值指定给不同的变量名,如“s=i*i”,这样您就可以不间断地完成循环。您在指定时更改了i
的值,从而缩短了循环。快速注意:您正在将4个值记录到控制台,而没有得到4个返回值。这里有一个重要的区别:返回值是从函数调用返回的值。你期望什么?我想我期望更多的迭代,但现在已经解释了,答案很明显。你在赋值时更改了I
的值,因此缩短了循环。快速注意:您将4个值记录到控制台,而不是4个返回值。这里有一个重要的区别:返回值是从函数调用返回的值。你期望什么?我想我期望更多的迭代,但现在解释清楚了,答案很明显。这就是我离开计算机并思考它时所怀疑的。谢谢你把它清理干净!这就是我在离开电脑思考时所怀疑的。谢谢你把它清理干净!