当前位置:首页 > JavaScript

js实现sqrt

2026-02-02 00:34:10JavaScript

实现平方根的 JavaScript 方法

在 JavaScript 中实现平方根计算可以通过多种方法,包括内置函数、数学算法近似等。以下是几种常见的实现方式:

使用 Math.sqrt() 内置函数

JavaScript 提供了内置的 Math.sqrt() 方法,可以直接计算平方根:

const sqrt = Math.sqrt(16); // 返回 4

二分查找法

对于需要手动实现的情况,二分查找是一种高效的方法:

function sqrtBinarySearch(n, precision = 0.00001) {
    let low = 0, high = n;
    let mid = (low + high) / 2;
    while (Math.abs(mid * mid - n) > precision) {
        if (mid * mid > n) {
            high = mid;
        } else {
            low = mid;
        }
        mid = (low + high) / 2;
    }
    return mid;
}

牛顿迭代法

牛顿迭代法(Newton-Raphson)是一种快速收敛的算法:

function sqrtNewton(n, precision = 0.00001) {
    let x = n;
    while (Math.abs(x * x - n) > precision) {
        x = (x + n / x) / 2;
    }
    return x;
}

指数对数法

利用数学恒等式 √x = e^(0.5 * ln(x))

function sqrtLogExp(n) {
    return Math.exp(0.5 * Math.log(n));
}

注意事项

  • 内置函数 Math.sqrt() 性能最优,推荐优先使用。
  • 手动实现时需处理非数值输入(如字符串)和负数(返回 NaN)。
  • 牛顿迭代法通常比二分查找更快收敛。

边界情况处理

function safeSqrt(n) {
    if (typeof n !== 'number' || isNaN(n)) return NaN;
    if (n < 0) return NaN;
    return Math.sqrt(n);
}

js实现sqrt

标签: jssqrt
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现继承

js实现继承

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