如何理解javascript for循环?

时间:2013-06-27 12:29:49

标签: javascript

我有这个简单的javascript代码:

function power(base, exponent) {
  var result = 1;
  for (var count = 0; count < exponent; count++)
    result = result * base;
  return result;
}

power(2, 10);

但是我很难理解loope和for循环结果之间的关系。谁能在这里描述这个过程?我知道答案是1024,它是2 * 2 * 2 * 2 * 2 * 2 * ......但是我很难理解为什么和结果有关。结果总是1?或者它以某种方式从循环中获取更新版本?谢谢!

4 个答案:

答案 0 :(得分:2)

数字完全没必要。数组[0 .... x]的长度是x。所以你的for循环真的是(var i = 0; i&lt; 10; i ++)。希望能把它排除在外。此外,你不想去10,而是指数。尝试:

for (var i = 0; i < exponent; i++)

答案 1 :(得分:2)

为什么不写这个?

function power(base, exponent) {
  var result = 1;

  for (var i = 0; i < exponent; i++)
    result = result * base;

  return result;
}

或者还有e javascript-integrated方式

Math.pow(base, exponent);

答案 2 :(得分:2)

说我通过power(2, 10)。以下是每次迭代的运行方式:

i | result
--+-------
- | 1
0 | 1 * 2 = 2
1 | 2 * 2 = 4
2 | 4 * 2 = 8
.
.
.
9 | 512 * 2 = 1024

但是,numbers数组是多余的。您需要查看exponenti < exponent

答案 3 :(得分:0)

当你用幂(2,10)调用函数时,你给变量“base”值2,然后它将结果(1)乘以2 10次,我看不到第二个变量的使用“指数”