这个 while 块是如何工作的?

How does this while block work?

var result = 1
var counter = 0
while (counter < 10) {
     result = result * 2
     counter += 1
};

console.log(result);

我很困惑这里的计数器更新结果如何?我们将计数器加 1,但这对结果有何影响?

有人可以把它简化给我听吗?我是编程新手。

编辑:我知道这个问题已经被问过很多次了。我搜索了很多答案,但没有得到我需要的信息。我有一个非常具体的疑问,想澄清一下,所以请在向下按钮上放轻松。 :)

[已解决]

与 for 循环相同的代码。

var result = 1
for (counter = 0; counter < 10; counter++) {
  result *= 2;
};
console.log(result);

你的意思是:

loop | counter |  result  | counter < 10
  1       1          2           yes
  2       2          4           yes
  3       3          8           yes
  4       4          16          yes
  5       5          32          yes
  6       6          64          yes
  7       7          128         yes
  8       8          256         yes
  9       9          512         yes
  10      10         1024        no end of loop


  console.log(result);   ->    1024

resultcounter 是此代码中具有不同目标的独立变量。

counter

一样递增
counter += 1

所以最终 while 条件

while (counter<10)

将得到满足,代码将停止执​​行。

至于result,每次执行while块中的代码,result乘以2更新

result = result*2

它是 'updated' 因为变量 result 是在 while 循环之外初始化的,但可以被它访问。通过上面的语句,它将现有的 result 变量乘以 2,然后将其存储回 result.