当前位置:首页 > JavaScript

js函数实现开平方

2026-03-01 20:35:12JavaScript

实现开平方的 JavaScript 函数

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

使用 Math.sqrt() 方法

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

function sqrt(number) {
  return Math.sqrt(number);
}
console.log(sqrt(9)); // 输出 3

使用指数运算符

通过将数字的 0.5 次方来计算平方根:

function sqrt(number) {
  return number  0.5;
}
console.log(sqrt(16)); // 输出 4

牛顿迭代法

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

function sqrt(number) {
  if (number < 0) return NaN;
  let precision = 0.00001;
  let guess = number;
  while (Math.abs(guess * guess - number) > precision) {
    guess = (guess + number / guess) / 2;
  }
  return guess;
}
console.log(sqrt(2)); // 输出 1.4142156862745097

二分查找法

另一种手动实现平方根的方法是二分查找:

js函数实现开平方

function sqrt(number) {
  if (number < 0) return NaN;
  let low = 0;
  let high = number;
  let mid;
  let precision = 0.00001;
  while (high - low > precision) {
    mid = (low + high) / 2;
    if (mid * mid > number) {
      high = mid;
    } else {
      low = mid;
    }
  }
  return (low + high) / 2;
}
console.log(sqrt(25)); // 输出 5.000000476837158

注意事项

  • 对于负数输入,建议返回 NaN 或抛出错误
  • 手动实现的算法需要设置合适的精度
  • 内置的 Math.sqrt() 性能最好,推荐优先使用

选择哪种方法取决于具体需求,如果只是需要计算结果,使用内置方法最为简单高效;如果需要理解算法原理或特殊需求,可以考虑手动实现。

标签: 开平函数
分享给朋友:

相关文章

vue实现递归函数

vue实现递归函数

Vue 中实现递归函数的方法 在 Vue 中实现递归函数通常用于处理树形结构数据、嵌套组件或递归算法。以下是几种常见实现方式: 递归组件实现 Vue 允许组件在其模板中调用自身,通过 name 选项…

vue实现异步函数

vue实现异步函数

Vue 中实现异步函数的几种方法 使用 async/await 在 Vue 方法或生命周期钩子中可以直接使用 async/await 语法处理异步操作。这种方式代码更清晰,易于理解。 methods…

react函数组件如何传参

react函数组件如何传参

传递参数的方式 React函数组件可以通过props传递参数。父组件在调用子组件时,通过属性名传递数据,子组件通过函数的第一个参数(通常命名为props)接收。 父组件传递参数示例: functi…

react闭包实现函数

react闭包实现函数

在 React 中实现闭包函数 闭包在 React 中常用于保存函数作用域内的变量状态,尤其在处理异步操作或事件回调时。以下是几种常见的实现方式: 使用 useCallback 缓存函数 useCa…

js函数实现链式调用

js函数实现链式调用

链式调用的实现原理 链式调用的核心在于每次方法调用后返回对象本身(this),使得后续方法可以继续在同一个对象上操作。这种方式常见于jQuery等库中,通过连续的点语法调用多个方法。 基础实现方式…

js用函数实现反转数组

js用函数实现反转数组

使用函数反转数组的方法 方法1:使用 reverse() 方法 JavaScript 的数组原生提供了 reverse() 方法,可以直接反转数组。 function reverseAr…