js实现开平方根
实现开平方根的 JavaScript 方法
使用 Math.sqrt() 方法
JavaScript 内置的 Math.sqrt() 方法可以直接计算平方根。这是最简单且高效的方式。
const number = 16;
const squareRoot = Math.sqrt(number);
console.log(squareRoot); // 输出 4
使用指数运算符
通过将数字的幂次设置为 0.5,可以实现平方根的计算。
const number = 25;
const squareRoot = number 0.5;
console.log(squareRoot); // 输出 5
牛顿迭代法(手动实现)
牛顿迭代法是一种数值计算平方根的算法,适用于需要手动实现的情况。
function sqrtNewton(number, precision = 0.0001) {
let guess = number / 2;
while (Math.abs(guess * guess - number) > precision) {
guess = (guess + number / guess) / 2;
}
return guess;
}
console.log(sqrtNewton(10)); // 输出 3.162277660168379
二分查找法(手动实现)
通过二分查找逼近平方根的值。
function sqrtBinarySearch(number, precision = 0.0001) {
let low = 0;
let high = number;
let mid = (low + high) / 2;
while (Math.abs(mid * mid - number) > precision) {
if (mid * mid < number) {
low = mid;
} else {
high = mid;
}
mid = (low + high) / 2;
}
return mid;
}
console.log(sqrtBinarySearch(9)); // 输出 3.000091552734375
性能与适用场景
- 内置方法:
Math.sqrt()是最高效且推荐的方式。 - 手动实现:牛顿迭代法和二分查找法适用于学习或特殊需求场景,但性能不如内置方法。


