幂函数js实现
幂函数的数学定义
幂函数在数学中表示为 ( f(x) = x^n ),其中 ( x ) 是底数,( n ) 是指数。在 JavaScript 中实现幂函数时,可以直接使用语言内置的运算符或方法,也可以通过循环或递归手动实现。
使用内置运算符或方法
JavaScript 提供了 Math.pow() 方法和 运算符来计算幂。

// 使用 Math.pow()
const result1 = Math.pow(2, 3); // 8
// 使用 运算符
const result2 = 2 3; // 8
手动实现幂函数(循环)
通过循环手动实现幂函数,适用于需要自定义逻辑的场景。
function power(base, exponent) {
let result = 1;
for (let i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
console.log(power(2, 3)); // 8
手动实现幂函数(递归)
递归方式实现幂函数,代码更简洁但需要注意栈溢出问题。

function power(base, exponent) {
if (exponent === 0) return 1;
return base * power(base, exponent - 1);
}
console.log(power(2, 3)); // 8
处理负指数
如果需要支持负指数,可以扩展实现逻辑。
function power(base, exponent) {
if (exponent === 0) return 1;
if (exponent < 0) return 1 / power(base, -exponent);
return base * power(base, exponent - 1);
}
console.log(power(2, -3)); // 0.125
性能优化(快速幂算法)
快速幂算法通过二分法减少计算次数,时间复杂度为 ( O(\log n) )。
function power(base, exponent) {
if (exponent === 0) return 1;
if (exponent < 0) return 1 / power(base, -exponent);
if (exponent % 2 === 0) {
const half = power(base, exponent / 2);
return half * half;
}
return base * power(base, exponent - 1);
}
console.log(power(2, 10)); // 1024
注意事项
- 内置方法
Math.pow()和运算符通常性能最优,优先推荐使用。 - 手动实现时需考虑边界条件,如指数为 0 或负数的情况。
- 递归实现可能导致栈溢出,适合小规模计算。






