在下面的代码中,如果result设置为1,则代码返回数字1024(2的幂为10)。如果结果设置为2,则代码返回数字2048(或2为11的幂),但如果结果设置为3,则代码不返回数字4096(正如我所料,因为2到如果“结果”设置为3,为什么它会返回3072,否则如果设置为1和2,它会跟随10号和11号的功率模式
function power(base, exponent) {
var result = 1;
for (var count = 0; count < exponent; count++)
result *= base;
return result;
}
show(power(2, 10));
答案 0 :(得分:2)
在此代码中,result
用作累加器。代码计算result * base**exponent
; result
不是指数的一部分。
答案 1 :(得分:1)
我觉得你自己很困惑。被提升到某种力量的东西是你的第一个参数(在你的例子2中)。指数是第二个参数(10)。您的示例正常工作。传递12作为你的指数,你会看到你的预期结果。
结果参数只是一个占位符,您可以在其中累积结果(2x2x2x2 ....)
执行所有工作的数字是您作为参数传递给函数的数字。
因此,在您的示例中,您将采用2并将其自身乘以10次,每次将累积结果存储在变量“result”中。让你失望的是结果最初被设置为1.这绝不是要改变的。它是这样构建的,所以如果你将指数设置为0,你将得到1的结果(因为任何数字都会增加到第零次幂= 1)。
无论如何......不要担心结果是什么。在函数调用中关注循环如何与传入的可互换变量值一起工作。
答案 2 :(得分:0)
进行乘法运算:
乘法表也许?另外,Math.pow有什么问题,只是想自己完成它?