我是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的结果?这一切如何运作?
如果有人能以最简单,最愚蠢的方式向我解释它,我将不胜感激:)
谢谢!
答案 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