js函数实现开平方
实现开平方的 JavaScript 函数
使用 Math.sqrt()
JavaScript 内置的 Math.sqrt() 方法可以直接计算一个数的平方根:
function squareRoot(num) {
return Math.sqrt(num);
}
console.log(squareRoot(16)); // 输出 4
牛顿迭代法
牛顿迭代法是一种数值计算方法,可以用于近似求解平方根:
function squareRootNewton(num, precision = 0.0001) {
if (num < 0) return NaN;
let guess = num;
while (Math.abs(guess * guess - num) > precision) {
guess = (guess + num / guess) / 2;
}
return guess;
}
console.log(squareRootNewton(16)); // 输出近似 4
二分查找法
二分查找法可以在一定精度范围内逼近平方根:
function squareRootBinary(num, precision = 0.0001) {
if (num < 0) return NaN;
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;
}
console.log(squareRootBinary(16)); // 输出近似 4
指数运算
利用指数运算的性质,平方根可以通过 Math.pow() 实现:

function squareRootPow(num) {
return Math.pow(num, 0.5);
}
console.log(squareRootPow(16)); // 输出 4
注意事项
- 输入为负数时,应返回
NaN或抛出错误。 - 牛顿迭代法和二分查找法需要设置合理的精度以避免无限循环。
- 内置方法
Math.sqrt()通常是性能最优的选择。






