当前位置:首页 > JavaScript

js实现根号

2026-01-31 14:35:39JavaScript

在JavaScript中实现平方根(根号)功能可以通过多种方式完成,以下是几种常见方法:

使用Math.sqrt()

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

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

牛顿迭代法

对于需要手动实现算法的情况,可采用牛顿迭代法近似计算平方根:

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(9)); // 输出约3.0000

二分查找法

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

function sqrtBinarySearch(num, precision = 0.0001) {
    let low = 0, high = num;
    let mid = (low + high) / 2;
    while (Math.abs(mid * mid - num) > precision) {
        if (mid * mid > num) high = mid;
        else low = mid;
        mid = (low + high) / 2;
    }
    return mid;
}
console.log(sqrtBinarySearch(25)); // 输出约5.0000

指数运算替代

利用数学公式 $\sqrt{x} = x^{1/2}$ 的特性:

js实现根号

const result = Math.pow(9, 0.5); // 返回3
// 或ES6语法
const result = 9  0.5; // 返回3

注意事项

  • 内置Math.sqrt()性能最优,优先推荐使用
  • 手动实现时需注意处理负数输入(返回NaN或复数)
  • 牛顿迭代法通常比二分查找收敛更快

标签: 根号js
分享给朋友:

相关文章

vue.js实现轮播

vue.js实现轮播

vue.js实现轮播的方法 使用第三方库(如Swiper) 安装Swiper库: npm install swiper 在Vue组件中引入Swiper: <template>…

js 实现继承

js 实现继承

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

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js 实现递归

js 实现递归

递归的基本概念 递归是指函数直接或间接调用自身的过程。在JavaScript中,递归通常用于解决可以分解为相似子问题的问题,如阶乘、斐波那契数列、树形结构遍历等。 递归的实现要点 基线条件(Base…