繁体   English   中英

无法理解 javascript 中的 for 循环

[英]Can't understand this for loop in javascript

我知道这在这里非常基本,但有人可以解释为什么会推出 31 吗?

 var x = 1; for (var i = 0; i < 4; i++) { x += 5 * i; } console.log(x);

在循环开始之前,x 为 1。

第零次迭代:i 为 0,将 5 * 0 (0) 添加到 x。 x 变为 1。

第一次迭代:i 为 1,将 5 * 1 (5) 添加到 x。 x 变为 6。

第二次迭代:i 为 2,将 5 * 2 (10) 添加到 x。 x 变为 16。

第三次迭代:i 为 3,将 5 * 3 (15) 添加到 x。 x 变为 31。

没有第四次迭代,因为 for 循环只在i<4运行。

运算符+=将变量x加上自身 + 另一个值的总和。

x += 1等于x = x + 1

因此,该循环执行以下操作:

x = 1          = 1     <---- Initialization
x = 1  + 5 * 0 = 1     <---- Iteration 0
x = 1  + 5 * 1 = 6     <---- Iteration 1
x = 6  + 5 * 2 = 16    <---- Iteration 2
x = 16 + 5 * 3 = 31    <---- Iteration 3

在这里,看看这个:

 var x = 1; // X= 1 for (var i = 0; i < 4; i++) { // the below is actually x = (5 * i) + x; x += 5 * i; // LOG THE OUTPUT console.log("At step " + i + ", X is = " + x); } console.log("Total: " + x); // Want more? Here: /* At step 0, X = (5 * 0) + 1 => 1 At step 1, X = (5 * 1) + 1 => 5 + 1 => 6 At step 2, X = (5 * 2) + 6 => 10+16 => 16 At step 3, X = (5 * 3) + 16 => 15 + 16 => 31 */

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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