【问题标题】:Javascript: Passing arguments from multiple functions to 1 functionJavascript:将参数从多个函数传递给 1 个函数
【发布时间】:2012-12-20 01:54:59
【问题描述】:

我有几个函数可以评估一些变量并得出结果

例如:

function first(){
   //variable declarations
   var result1 = a+b
}

function two(){
   //variable declarations
   var result2 =c+d 
}

我想将这两个结果都传递给另一个函数

function three( result1, result2 ) {
   var finalResult = result1 + result2;
}

我的问题是从哪里调用函数 3。因为实际上我有大约 10 个函数需要通过结果。我是否在每个末尾都放了三个(结果#)???

谢谢

【问题讨论】:

  • a、b、c 和 d 来自哪里?它们是全局变量吗?
  • 嗨,他们是本地的。来自 html 表单中的字段
  • 只是为了详细说明每个函数从表单字段中获取一个值,然后使用 switch case 来分配一个分数。然后我想将分数传递给 main 函数进行累加。
  • 我从哪里调用 3。我们该如何回答呢?从任何你喜欢的地方调用它。
  • 只是返回一些东西并使用该功能,我真的不明白你的问题的重点......

标签: javascript function arguments


【解决方案1】:

这是您可以采取的一种方法,尽管问题有点模糊。

function first(){
 return a+b;
} 

function two(){
 return c+d;
}

function three(){
 var finalResult = first() + two();
}

或者,如果你不想要函数中的值,你可以这样做:

<script>
 var results = first() + two();
</script>

【讨论】:

    【解决方案2】:
    function first() {
        return a + b;
    }
    
    function two() {
        return c + d;
    }
    
    function three(result1, result2) {
        return result1 + result2;
    }
    

    叫它:

    var finalResult = three(first(), two());
    

    【讨论】:

      【解决方案3】:

      不要理会全局结果,即result1、result2 等。只需返回数据并在准备好后调用 3

      function first(){
       return a+b;
      } 
      
      function two(){
        return c+d;
      }
      
      function three(){
           return (first() + two());
       }
      

      【讨论】:

        【解决方案4】:

        更好的方法是传递一个对象。它将确保如果您想添加更多详细信息,则不必在函数中添加更多参数并使其更具可读性。

        function first(){
            return "value of one";
        } 
        
        function second(){
            return "value of two";
        }
        
        
        function three(data){
            var finalResult = data.first + data.second;
        }
        

        然后这样称呼它:

        var data = {};
        data.first = first();
        data.second = second();
        
        three(data);
        

        【讨论】:

          【解决方案5】:
          function one( a, b ) {
             var result1 = a + b;
             return result1;
          }
          
          function two( c, d ) {
             var result2 = c + d;
             return result2;
          }
          
          function three( a, b ) {
             var finalResult = a + b;
             return finalResult;
          }
          

          要调用它,请使用three( one(), two() );

          【讨论】:

            猜你喜欢
            • 2020-05-01
            • 2016-04-02
            • 1970-01-01
            • 2020-01-23
            • 2010-11-03
            • 2012-08-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多