(Javascript)我不明白计数器和结果变量如何相互影响

时间:2018-10-10 04:14:57

标签: javascript counter

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

因此,此代码找到2的10次幂,即2 ^ 10,并且可以正常工作。我只是不了解它是如何工作的,特别是结果和计数器变量如何相互影响。如果我删除了for语句,答案将变为2,这很有意义。但是,当我在其中添加for语句时,它显示为1024,这对我来说没有意义,因为我不了解计数器和结果如何相互影响。抱歉,如果我听起来多余,我是菜鸟,根本不知道我在说什么。

编辑:我现在明白了,谢谢

1 个答案:

答案 0 :(得分:0)

让我们尝试理解您的代码。

let result = 1; 

在上面的语句中,您声明了一个变量并将其初始化为1

for (let counter = 0; counter < 10; counter = counter + 1)   
{  
  result = result * 2;  
} 

上面是一个for循环。什么是for循环。

  

for循环是重复直到指定条件的迭代   评估为假。

下面是for循环的语法

for ([initialExpression]; [condition]; [incrementExpression])
{
   statement(s)
}

因此,在您的情况下,循环将继续执行语句,直到条件评估为false为止。在您的情况下,该值为counter < 10,这意味着一旦计数器变为10,该条件就会评估为false。但是直到它变为10为止,它都会继续执行以下语句。

result = result * 2;

以下语句在循环完成执行后记录结果的值。

console.log(result); // 1024

因此resultcounter不会互相影响。 Counter有助于确定for循环的迭代次数。由于语句在循环内执行,因此结果增加。

希望这会有所帮助:)

有关更多信息,请参阅MDN Docs