当前位置:首页 > JavaScript

幂函数js实现

2026-03-15 15:51:19JavaScript

幂函数的数学定义

幂函数在数学中表示为 ( 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) )。

幂函数js实现

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 或负数的情况。
  • 递归实现可能导致栈溢出,适合小规模计算。

标签: 函数js
分享给朋友:

相关文章

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

uniapp如何写全局函数

uniapp如何写全局函数

全局函数的定义与使用 在UniApp中定义全局函数可以通过挂载到Vue.prototype或使用模块化导出导入的方式实现。以下是两种常用方法: 方法一:挂载到Vue.prototype 在main.…