当前位置:首页 > JavaScript

js实现pow

2026-02-01 04:42:22JavaScript

实现 pow 的方法

使用 Math.pow

JavaScript 内置的 Math.pow 方法可以直接计算幂运算。语法如下:

Math.pow(base, exponent);

示例:

console.log(Math.pow(2, 3)); // 输出 8

使用指数运算符 ()

ES6 引入了指数运算符 ,语法更简洁:

js实现pow

base  exponent;

示例:

console.log(2  3); // 输出 8

手动实现递归

递归方法可以手动实现 pow 功能,适用于整数指数:

js实现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

标签: jspow
分享给朋友:

相关文章

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…