js实现根号
实现平方根的方法
在JavaScript中实现平方根计算有多种方法,以下是几种常见的方式:
使用Math.sqrt()
JavaScript内置的Math.sqrt()方法可以直接计算平方根:
const number = 16;
const squareRoot = Math.sqrt(number); // 返回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;
}
二分查找法
另一种数值逼近方法是二分查找:
function sqrtBinarySearch(num, precision = 0.0001) {
let low = 0;
let 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;
}
指数运算方法
通过数学变换利用指数函数计算:
function sqrtExponent(num) {
return Math.pow(num, 0.5);
// 或使用ES6语法
// return num 0.5;
}
注意事项
- 内置
Math.sqrt()方法性能最优,精度最高 - 自定义实现时需注意处理负数输入(返回NaN或抛出错误)
- 数值逼近方法的精度和迭代次数需要平衡
- 对于非数值输入应添加类型检查







