我的 JavaScript 幂函数是如何工作的

How does my JavaScript power function work?

本文关键字:工作 何工作 JavaScript 函数 我的      更新时间:2023-09-26
var power = function (base, exponent) {
  var result = 1;
  for ( i = 0; i < exponent; i++) {
    result = result * base;
  }
  return result;
};
power(2, 2);

其实我得到了一些,我没有得到的是——for 循环在那里和之后的行做什么?(功能功率)

循环

0(含)到exponent(独占)循环,result乘以base并将结果存储在result中。一旦循环了这么多次,它就会返回结果。所以它把数字提高到一个给定的幂(见)。


旁注:这段代码是隐式全局的恐怖的牺牲品,因为它无法声明i变量。

将一个数字提高到某个幂与将该数字本身乘以那么多次相同; 所以 2 的幂等于 2 * 2,2 的幂等于 2 * 2,2 的幂等于 2 * 2 * 2,依此类推。for循环只是实现了这一点。

该函数实际上通过将基数与自身多次相乘,以直接的方式计算幂函数。

循环实际上将中间结果乘以到达运行的基础。从而计算result = (((1 * base) * base) * base) * ...以获得最终结果。

顺便说一句,有一个内置函数:Math.pow(有关详细信息,请参阅 MDN)