解释JavaScript中的MUL()函数

解释JavaScript中的MUL()函数

在本教程中,我们将学习在JavaScript中实现MUL()函数。这个函数是一种非常简单的乘法函数。基本上,我们使用嵌套函数的概念来实现MUL()函数。嵌套函数用于创建闭包和装饰器。通过使用嵌套函数,我们可以实现数据的私密性。

有两种方法可以使用嵌套函数来实现MUL()函数−

  • 使用具有名称的嵌套函数

  • 通过柯里化一个函数

使用具有名称的嵌套函数

在JavaScript中,我们可以使用嵌套函数来得到乘法的结果。我们需要编写n个嵌套函数来相乘n个数。

JavaScript是一种一等函数语言。这意味着在JavaScript中,函数可以像任何其他变量一样被处理。因此,在外部函数的返回语句中,我们返回内部函数。

语法

用户可以遵循以下语法使用具有名称的嵌套函数来实现MUL()函数。

function mul(num1){
   function mul1(num2){
      function mul2(num3){
         return num1*num2*num3;

      }; // end of mul2()
      return mul2;

   }; // end of mul1()
   return mul1;

} // end of mul()

例如,我们将三个数字相乘- num1,num2和num3。函数是JavaScript中定义函数的关键字。在这里,我们定义了一个名为mul()的函数,该函数具有num1作为参数。在mul()函数内部,我们返回mul1()函数,该函数是在mul()函数内定义的。mul1()函数以num2作为参数,它返回mul2()函数。mul2()函数以num3作为参数,它返回num1、num2和num3的乘积。

通过这种方式,我们可以编写任意数量的函数来相乘n个数字。

步骤

  • 步骤1 - 使用第一个数字num1作为参数定义mul()函数。

  • 步骤1.1 - 在mul()函数内部,使用第二个数字num2定义mul1()函数。

  • 步骤1.2 - 在mul()函数的返回语句中,返回mul1。

  • 步骤2 - 在mul1()函数内部,使用第三个数字num3定义mul2()函数。

  • 步骤2.1 - 在mul1()函数的返回语句中,返回mul2。

  • 步骤3 - 在mul2()函数的返回语句中,返回num1、num2和num3的乘积。

示例

在下面的示例中,我们正在将三个数字相乘。并且我们还观察到了当我们只传递两个数字时的输出。

<html>
<body>
<h2> The MUL() function in JavaScript </h2>
<div id = "output"> </div>
   <script>
      let output = document.getElementById("output");
      function mul(num1){
         function mul1(num2){
            function mul2(num3){
               return num1*num2*num3;

            }; // end of mul2()
            return mul2;

         }; // end of mul1()
         return mul1;

      } // end of mul()
      output.innerHTML = "Multiplication of 2, 3 and 4 is : ";
      output.innerHTML += mul(2)(3)(4) + "<br><br>";
      output.innerHTML += "Multiplication of 4 and 6 is : ";

      //This line returns a function
      output.innerHTML += mul(4)(6) + "<br><br>";
      output.innerHTML += "Multiplication of 3, 5 and 7 is: ";

      //Another way of multiplication
      const temp = mul(3)(5);
      output.innerHTML += temp(7);
   </script>
</body>
</html>

在上面的代码中,我们可以看到2、3和4被一起传递给函数调用,然后相乘。当我们只传递两个数字时,它返回一个函数。然后我们在函数调用中传递3和5,但是我们将结果存储在temp变量中。然后使用temp变量,我们传递7。所以,我们得到3、5和7的乘积=105。

注意 - 我们不能在mul()函数的外部调用mul1()或mul2()函数。

通过柯里化函数

我们可以通过柯里化函数以另一种方式编写上述逻辑。当我们无法同时提供所有参数给一个函数时,柯里化就很有用。那些在任何地方都不会被调用的函数,可以写成匿名函数。

语法

按照下面的语法实现通过柯里化函数来执行MUL( )。

function mul(num1) {
   return function(num2) {
      return function(num3) {
         return num1 * num2 * num3;
      };
   };
}

在这里,我们以3个数字的示例来说明,用户可以观察到我们可以通过编写匿名函数来实现上述逻辑的差异。外部函数mul()有参数num1;它返回一个带参数num2的函数;该函数返回一个带参数num3的函数;内部函数返回num1、num2和num3的乘积。

同样的逻辑可以应用于更多的数字。

步骤

  • 步骤1 - 定义具有num1作为参数的函数mul()。

  • 步骤2 - 在函数mul()的返回语句中,定义一个匿名函数(我们称之为第一个匿名函数以便理解),它带有num2作为参数。

  • 步骤3 - 在第一个匿名函数的返回语句中,定义第二个匿名函数,该函数带有num3作为参数。

  • 步骤4 - 在第二个匿名函数的返回语句中,返回num1、num2和num3的乘积。

示例

在下面的示例中,我们通过柯里化函数来实现MUL()函数。

<html>
<body>
<h2> The MUL() function in JavaScript </h2>
<div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      function mul(num1) {
         return function(num2) {
            return function(num3) {
               return num1 * num2 * num3;
            };
         };
      }
      output.innerHTML = "Multiplication of 2, 4 and 6 is: ";
      output.innerHTML += mul(2)(4)(6) + "<br><br>";
      output.innerHTML += "Output when we pass only 9 is: <br>";

      //This line returns a function
      output.innerHTML += mul(9) + "<br><br>";
      output.innerHTML += "Multiplication of 2, 3 and 5 is: ";

      //Another way of multiplication
      const temp = mul(2)(3);
      output.innerHTML += temp(5);
   </script>
</body>
</html>

在上面的输出中,用户可以看到当我们在函数调用中传递三个数字时,我们得到了三个数字的乘积。当我们同时传递2、4和6时,在函数调用中得到了48。当我们仅传递9时,我们得到函数。然后我们只传递2和3,并将结果存储在temp变量中。然后使用这个temp变量,我们传递5。所以,我们得到了2、3和5的乘积= 30。

我们学习了使用两种不同方法实现MUL()函数:嵌套函数和柯里化函数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程