当前位置:首页 > 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}$ 的特性:

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

注意事项

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

js实现根号

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

相关文章

js 实现继承

js 实现继承

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

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClip…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue…