如何从两个不同的函数中添加值?

时间:2017-05-09 01:24:34

标签: javascript arrays function

就我而言,我在两个不同的函数中找到了2个不同总和的值。现在我需要做的就是减去这两个值,但我不确定是否可以通过两个不同的函数来实现。什么是最好的方式来执行此操作?

if (${CMAKE_PROJECT_NAME} STREQUAL "cppTests")
    message("CMAKE_PROJECT_NAME is \"cppTests\"")
else ()
    message("CMAKE_PROJECT_NAME is NOT \"cppTests\"")
endif ()

这里我有变量'sum',它有一个值。

for(let j=0,l=10; j<l; j++){
       console.log(j);
}

我想减去sum-sumL,但我做得不对。有什么想法吗?

4 个答案:

答案 0 :(得分:0)

您必须在全局范围内定义sumsumL。将var sum = 0var sumL = 0移到函数之外,并使用sum-sumL获取它们的区别。

答案 1 :(得分:0)

这些函数应该返回和值并再写一个函数,使用这些函数返回的值执行减法 注意:编写小函数n可自行解释它提高了代码可维护性

答案 2 :(得分:0)

你也可以从 networth 函数返回 sum ,如下所示:

function networth()
{
   var totNoA = document.getElementsByName("number4[]").length;
   var sum = 0;

   for(var i=0; i<totNoA; i++)
   {
      sum +=parseInt(document.getElementsByName("number4[]")[i].value);
      console.log(sum);
   }
   return sum; 
}

然后你可以在 networth1 函数中使用它的值,如下所示:

function networth1()
{
   var totNoL = document.getElementsByName("number5[]").length;
   var sumL = 0;

   for(var x=0; x<totNoL; x++)
   {
      sumL +=parseInt(document.getElementsByName("number5[]")[x].value);
      console.log(sumL);    
   }
      var sum = networth();
      total_sum = sum - sumL;
      document.Net_worth.total1.value = total_sum;
}

您不需要计算内部循环中的差异,因为您只需要最终差异。您也可以按照其他人的建议进行操作。使 sum sumL 全局变量,而不是将它们设为本地变量。

答案 3 :(得分:0)

在您的代码中,您在每个函数中使用document.getElementsByName在DOM中执行两次搜索,但这不是必需的。

简化您自己的代码,它看起来像这样:

function netWorth(query) {
    var elements = document.getElementsByName(query);
    var sum = 0;

    for(var i = 0; i < elements.length; i++) {
        sum += parseInt(elements[i].value);
    }

    return sum; 
}

var sum = netWorth("number4[]");
var sumL = netWorth("number5[]");

document.Net_worth.total1.value = (sum - sumL);