当前位置:首页 > 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
分享给朋友:

相关文章

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现交换

js实现交换

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

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…