这个 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
result
和 counter
是此代码中具有不同目标的独立变量。
counter
像
一样递增
counter += 1
所以最终 while
条件
while (counter<10)
将得到满足,代码将停止执行。
至于result
,每次执行while块中的代码,result
乘以2更新
result = result*2
它是 'updated' 因为变量 result
是在 while
循环之外初始化的,但可以被它访问。通过上面的语句,它将现有的 result
变量乘以 2,然后将其存储回 result
.
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
result
和 counter
是此代码中具有不同目标的独立变量。
counter
像
counter += 1
所以最终 while
条件
while (counter<10)
将得到满足,代码将停止执行。
至于result
,每次执行while块中的代码,result
乘以2更新
result = result*2
它是 'updated' 因为变量 result
是在 while
循环之外初始化的,但可以被它访问。通过上面的语句,它将现有的 result
变量乘以 2,然后将其存储回 result
.