js实现开方
JavaScript 实现开方运算的方法
使用 Math.sqrt()
JavaScript 内置 Math.sqrt() 方法可直接计算平方根。该方法接受一个数字参数,返回其平方根。若参数为负数,返回 NaN。
const number = 16;
const squareRoot = Math.sqrt(number);
console.log(squareRoot); // 输出 4
自定义开方函数(二分法)
若需手动实现平方根计算,可采用二分法逼近结果。以下是一个示例实现:
function sqrt(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(sqrt(16)); // 输出接近 4
牛顿迭代法
牛顿迭代法是另一种高效计算平方根的方法,收敛速度较快。
function sqrtNewton(num, precision = 0.0001) {
if (num < 0) return NaN;
let guess = num / 2;
while (Math.abs(guess * guess - num) > precision) {
guess = (guess + num / guess) / 2;
}
return guess;
}
console.log(sqrtNewton(16)); // 输出接近 4
使用指数运算符
通过幂运算 结合分数指数亦可实现开方。

const number = 16;
const squareRoot = number 0.5;
console.log(squareRoot); // 输出 4
注意事项
- 负数处理:直接调用
Math.sqrt(-1)会返回NaN,自定义函数需额外判断。 - 精度控制:手动实现的函数需指定精度阈值,避免无限循环。
- 性能考量:内置方法通常经过优化,性能优于手动实现。






