繁体   English   中英

谁能告诉我 for 循环中发生了什么

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM