如何在 JavaScript 中获取数字的平方根?
在本教程中,我们将学习如何通过两种方法在 JavaScript 中获取数字的平方根。
在 JavaScript 中,可以通过两种方法找到数字的平方根:
- 使用 Math.sqrt() 方法
- 创建自定义函数
数字的平方根是一个因子,当它自身相乘时,结果等于原始数字。例如,10 是 100 的平方根,因为 10 自乘 (10*10) 的结果是 100。
使用 Math.sqrt() 方法
在 JavaScript 中,Math.sqrt() 方法用于查找数字的平方根。它接受一个变量作为参数,如果变量是正数,则返回平方根值。否则,如果变量是负数或非数值,则返回 NaN,表示“非数字”。
用户可以按照以下语法使用 Math.sqrt() 方法查找数字的平方根。
语法
Math.sqrt( number );
参数
number − 接受任何需要求平方根的数值变量。
返回类型
给定正数的平方根。
如果参数是负数或非数值,则返回NaN。
示例 1
在下面的示例中,我们使用 Math.sqrt() 方法来查找数字的平方根。我们使用了不同的值来观察 Math.sqrt() 方法的输出。
<html> <body> <h4> Get the square root of a number using <i>Math.sqrt() </i> method </h4> <div id="root"> </div> <script> let positive_number = 4; let negative_number = -4; let root = document.getElementById('root'); root.innerHTML = "The square root of " + positive_number + " is: " + Math.sqrt(positive_number) + "<br>"; root.innerHTML += "The square root of " + negative_number + " is:" + Math.sqrt(negative_number) + "<br>"; </script> </body> </html>
在上面的输出中,用户可以看到 Math.sqrt() 方法对于正整数返回所需的平方根值,对于负数和非数值,它返回 NaN。
创建自定义方法
也可以不用 Math.sqrt() 方法来求数字的平方根,这种方法需要使用迭代来计算平方根值。
语法
function square_root(num) { //checking if number is negative or non-numeric if (num < 0 || isNaN(num)) { return NaN } //starting the calculation from half of the number let square_root = num / 2 let temp = 0 // Iterating while square_root is not equal to temp while (square_root != temp) { temp = square_root // smalling the square_root value to find square root square_root = (num / square_root + square_root) / 2 } return square_root }
算法
步骤 1 − 声明一个函数,并将数字作为参数传入函数。
步骤 2 − 检查数字是否为负数或非数值,如果是则返回 NaN。
步骤 3 − 将 square_root 变量设置为给定数字的一半,并声明一个值为 0 的 temp 变量。
步骤 4 − 当 temp 不等于 square_root 值时迭代。
步骤 4.1 − 将 square_root 值存储到 temp 中。
步骤 4.2 − 将数字除以当前的 square_root 值,并将结果与当前的 square_root 值相加。
步骤 5 − 返回 square_root 值。
示例
在下面的示例中,我们不用 Math.sqrt() 方法来求数字的平方根。我们使用了不同的值来观察输出。
<html> <body> <h4> Get the square root of a number without using <i> custom </i> method. </h4> <div id = "root"> </div> <script> function square_root(num) { //checking if number is negative or non-numeric if (num < 0 || isNaN(num)) { return NaN } //starting the calculation from half of the number let square_root = num / 2 let temp = 0 // Iterating while square_root is not equal to temp while (square_root != temp) { temp = square_root // smalling the square_root value to find the square root square_root = (num / square_root + square_root) / 2 } return square_root } let positive_number = 121; let negative_number = -6; let root = document.getElementById('root'); root.innerHTML = "The square root of " + positive_number + " is: " + square_root(positive_number) + "<br>";root.innerHTML += "The square root of " + negative_number + " is: " +square_root(negative_number) + "<br>"; </script> </body> </html>
在上面的输出中,用户可以看到 square_root 方法对于正整数返回所需的平方根值,对于负数和非数值也是如此。我们学习了如何使用 JavaScript 通过和不用 Math.sqrt() 方法来获取数字的平方根值。第一种方法是获取平方根值的标准方法。第二种方法是更可控的实现方式,如果您想做的不仅仅是获取平方根值,请选择第二种方法。建议使用 Math.sqrt() 方法,因为它 JavaScript 的内置方法。