js实现根号
在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或复数)
- 牛顿迭代法通常比二分查找收敛更快







