我有这个简单的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?或者它以某种方式从循环中获取更新版本?谢谢!
答案 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
数组是多余的。您需要查看exponent
(i < exponent
)
答案 3 :(得分:0)
当你用幂(2,10)调用函数时,你给变量“base”值2,然后它将结果(1)乘以2 10次,我看不到第二个变量的使用“指数”