就我而言,我在两个不同的函数中找到了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,但我做得不对。有什么想法吗?
答案 0 :(得分:0)
您必须在全局范围内定义sum
和sumL
。将var sum = 0
和var 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);