js实现pow
JavaScript 实现幂运算(pow)
在 JavaScript 中实现幂运算(即计算 x 的 y 次方)可以通过多种方式完成。以下是几种常见的方法:
使用内置 Math.pow() 方法
JavaScript 提供了内置的 Math.pow() 函数,可以直接计算幂运算:
const result = Math.pow(2, 3); // 计算 2 的 3 次方,结果为 8
使用 ES2016 的指数运算符 ()
ES2016 引入了指数运算符 ,语法更简洁:

const result = 2 3; // 计算 2 的 3 次方,结果为 8
手动实现幂运算(递归)
如果需要手动实现幂运算,可以使用递归方法:
function power(base, exponent) {
if (exponent === 0) return 1;
return base * power(base, exponent - 1);
}
const result = power(2, 3); // 结果为 8
手动实现幂运算(迭代)
迭代方式实现幂运算,适用于大指数情况:

function power(base, exponent) {
let result = 1;
for (let i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
const result = power(2, 3); // 结果为 8
处理负指数
如果需要支持负指数,可以扩展手动实现的方法:
function power(base, exponent) {
if (exponent < 0) {
return 1 / power(base, -exponent);
}
let result = 1;
for (let i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
const result = power(2, -3); // 结果为 0.125
性能优化(快速幂算法)
对于大指数,快速幂算法(二分法)可以显著提升性能:
function power(base, exponent) {
if (exponent === 0) return 1;
if (exponent < 0) {
base = 1 / base;
exponent = -exponent;
}
let result = 1;
while (exponent > 0) {
if (exponent % 2 === 1) {
result *= base;
}
base *= base;
exponent = Math.floor(exponent / 2);
}
return result;
}
const result = power(2, 10); // 结果为 1024
注意事项
- 内置
Math.pow()和运算符已经经过优化,推荐优先使用。 - 手动实现时需注意边界条件(如
exponent为 0 或负数)。 - 快速幂算法适合处理极大指数(如加密算法中的模幂运算)。






