当前位置:首页 > JavaScript

js 实现sqrt

2026-04-05 19:17:15JavaScript

实现平方根的方法

在 JavaScript 中实现平方根计算可以通过多种方式完成,以下是几种常见的方法:

使用 Math.sqrt()

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

js 实现sqrt

const number = 16;
const result = Math.sqrt(number);
console.log(result); // 输出 4

牛顿迭代法

牛顿迭代法是一种数值逼近方法,可以用于手动实现平方根计算:

js 实现sqrt

function sqrtNewton(num, precision = 0.0001) {
    let guess = num / 2;
    while (Math.abs(guess * guess - num) > precision) {
        guess = (guess + num / guess) / 2;
    }
    return guess;
}

console.log(sqrtNewton(16)); // 输出接近 4 的值

二分查找法

通过二分查找法逼近平方根的值:

function sqrtBinarySearch(num, precision = 0.0001) {
    let low = 0;
    let high = num;
    let mid;
    while (high - low > precision) {
        mid = (low + high) / 2;
        if (mid * mid > num) {
            high = mid;
        } else {
            low = mid;
        }
    }
    return mid;
}

console.log(sqrtBinarySearch(16)); // 输出接近 4 的值

指数运算

利用指数运算的特性计算平方根:

function sqrtExponent(num) {
    return Math.pow(num, 0.5);
}

console.log(sqrtExponent(16)); // 输出 4

性能比较

  • Math.sqrt() 是最高效的方法,直接调用底层优化实现。
  • 牛顿迭代法和二分查找法适合需要自定义精度或学习算法实现时使用。
  • 指数运算虽然简洁,但性能略低于 Math.sqrt()

选择哪种方法取决于具体需求,通常优先使用 Math.sqrt()

标签: jssqrt
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js 实现继承

js 实现继承

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

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…