[英]Can anyone tell me what happens in for loop
这是使用 for 循环计算 2 10 的代码: 1024 答案是怎么来的?
var result = 1;
for ( var counter = 0; counter < 10; counter = counter + 1)
result = result * 2;
console . log ( result );
// 1024
基本上
1024 = 2 10
(2 * 2 ... 10 次)
for循环循环 10 次,每次结果乘以 2(最初为 1)。
缩进你的代码给出
var result = 1;
for ( var counter = 0; counter < 10; counter = counter + 1)
result = result * 2;
console . log ( result ); // display result in console
由于 for 循环语句周围没有块( {}
),因此循环中只有第一条语句( result = result * 2;
),因此它将结果乘以 2, 10 次,即
result = 1 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2
之后,您将输出该结果( 1024
)。
您的for loop
只运行result = result * 2
。
现在,您的result
初始值为1
。 然后这将执行result * 2
的操作 10 次,结果为1024
2
4
8
16
32
64
128
256
512
1024
for (statement 1; statement 2; statement 3) {
code block to be executed
}
语句 1 在循环(代码块)开始之前执行。
语句 2 定义了运行循环(代码块)的条件。
每次执行循环(代码块)后都会执行语句 3。
在您的情况下,此循环运行 10 次。 在您的“语句 1”中,您将计数器分配给 0。然后,您定义条件,即 for 循环将运行直到计数器 = 或 > 10(因此直到不满足条件)。 在“语句 3”中,您只是在每个循环结束时向计数器添加一个。
因此,您将变量“result”(赋值为 1)乘以 2, 10 次。 之后,console.log 只打印结果变量。
//2^10 = 1024
希望这会有所帮助,这是 for 循环语法的链接: http : //www.w3schools.com/js/js_loop_for.asp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.