for循环中的乘法

时间:2018-10-02 22:25:37

标签: javascript function for-loop

我是JS的新手,我完全对这个简单的东西一无所知,我真的很想了解这一点并继续学习。

我有这段代码:

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

console.log(power(2, 10));
// Result is: 1024

控制台中的结果将为1024

如果我将值更改为:

console.log(power(1, 10));
// Result is: 1

但是如果我更改为:

console.log(power(3, 10));
// Result is: 59049

我将得到59049的结果。

那么,我如何得到59049的结果?我如何得到1024的结果?我如何得到1的结果?这一切如何运作?

如果有人能以最简单,最愚蠢的方式向我解释它,我将不胜感激:)

谢谢!

1 个答案:

答案 0 :(得分:1)

那是因为

  

2等于10的幂(或1 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2)等于1024

  

1等于10的幂(或1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1)等于1

  

3等于10的幂(或1 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3)等于59049

如果为函数提供基数和指数,则该函数将执行以下操作:

power(2,0)产生1,因为指数为0,该函数立即返回结果(即1),而没有进入循环。

power(2,1)产生2,因为结果(为1)与循环中的底数(为2)相乘一次,从而得出1 * 2 = 2

power(2,2)产生4,因为结果(1)与循环中的底数(2)相乘两次,从而得到1 * 2 * 2 = 4

power(2,3)产生8,因为结果(为1)与循环中的底数(为2)相乘三倍,从而得出1 * 2 * 2 * 2 = 8