如何在 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 的内置方法。

更新于:2022年10月31日

11K+ 浏览量

启动您的 职业生涯

完成课程获得认证

开始学习
广告