js实现pow
实现 pow 的方法
使用 Math.pow
JavaScript 内置的 Math.pow 方法可以直接计算幂运算。语法如下:
Math.pow(base, exponent);
示例:
console.log(Math.pow(2, 3)); // 输出 8
使用指数运算符 ()
ES6 引入了指数运算符 ,语法更简洁:

base exponent;
示例:
console.log(2 3); // 输出 8
手动实现递归
递归方法可以手动实现 pow 功能,适用于整数指数:

function pow(base, exponent) {
if (exponent === 0) return 1;
return base * pow(base, exponent - 1);
}
console.log(pow(2, 3)); // 输出 8
手动实现迭代
迭代方法避免了递归的栈溢出风险,适合较大指数:
function pow(base, exponent) {
let result = 1;
for (let i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
console.log(pow(2, 3)); // 输出 8
处理负指数
扩展手动实现以支持负指数:
function pow(base, exponent) {
if (exponent === 0) return 1;
if (exponent < 0) return 1 / pow(base, -exponent);
return base * pow(base, exponent - 1);
}
console.log(pow(2, -3)); // 输出 0.125
快速幂算法(二分法)
快速幂算法通过二分法减少计算次数,时间复杂度为 O(log n):
function pow(base, exponent) {
if (exponent === 0) return 1;
if (exponent < 0) return 1 / pow(base, -exponent);
const half = pow(base, Math.floor(exponent / 2));
return exponent % 2 === 0 ? half * half : half * half * base;
}
console.log(pow(2, 10)); // 输出 1024






