当前位置:首页 > 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))

js实现sqrt

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);
}

标签: jssqrt
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现交换

js实现交换

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