Javascript 如何求两个函数的值之和?
我有两个从未来价值创造现值的功能:Javascript 如何求两个函数的值之和?,javascript,html,math,Javascript,Html,Math,我有两个从未来价值创造现值的功能: function calculate_zins1() { var myBox1 = document.getElementById('box1').value; var zins1 = document.getElementById("zinsValue").value; var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),1)) ; var result = docum
function calculate_zins1() {
var myBox1 = document.getElementById('box1').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),1)) ;
var result = document.getElementById('result');
var myResult = myBox1 * zins1_1;
result.value = myResult;
}
function calculate_zins2() {
var myBox1 = document.getElementById('box2').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),2)) ;
var result2 = document.getElementById('result2');
var myResult = myBox1 * zins1_1;
result2.value = myResult;
}
现在我想添加result+result2
有人能帮我吗?谢谢。您不能返回值并执行以下操作:
var sum=calculate\u zins1()+calculate\u zins2()?
或者您也可以将其作为引用传递,以使结果成为对象:
var results = { result1 : null, result2 : null}
calculate_zins1(results) {
...
results.result1 = result.value;
}
calculate_zins2(results) {
...
results.result2 = result2.value;
}
calculate_sum() {
return sum = results.result1 + results.result2;
}
您需要让函数返回所需的值
function calculate_zins1() {
var myBox1 = document.getElementById('box1').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),1)) ;
var result = document.getElementById('result');
var myResult = myBox1 * zins1_1;
result.value = myResult;
return myResult;
}
function calculate_zins2() {
var myBox1 = document.getElementById('box2').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),2)) ;
var result2 = document.getElementById('result2');
var myResult = myBox1 * zins1_1;
result2.value = myResult;
return myResult;
}
sum = calculate_zins1() + calculate_zins2()
我认为仅仅让函数返回计算值的建议是不够的。它们应该返回值或将其设置为输入元素的值
属性,而不应该同时执行这两项操作。一个函数做两件不同的事情,特别是当它有副作用时,它的设计很糟糕。试试这个:
var result, result2;
function calculate_zins1() {
var myBox1 = document.getElementById('box1').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),1)) ;
var result = document.getElementById('result');
var myResult = myBox1 * zins1_1;
result.value = myResult;
}
function calculate_zins2() {
var myBox1 = document.getElementById('box2').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),2)) ;
var result2 = document.getElementById('result2');
var myResult = myBox1 * zins1_1;
result2.value = myResult;
}
var sum = result.value + result2.value;
在哪里调用这些函数?document.getElementById('result')。value+document.getElementById('result2')。value(?)@Julo0sS,这将导致字符串连接,而不是加法。返回这些函数的结果,然后添加它们。或者只是从DOM中获取值,并在调用这些函数后添加它们。我将从这些函数TBH返回值,而不是直接在DOM中设置值。这样会更灵活。var results=parseInt(calculate_zins1())+parseInt(calculate_zins2());你用一个问题回答了一个问题?=]函数在此实例中应返回一个值。他显然希望在两个DOM元素中设置值,并且还希望添加值。因此,他应该从函数返回值。他不必,但这将是一个更好的设计。这就是我建议他返回值的原因:)这是一个评论,不是答案啊,好吧,是结尾的问号让我放弃了lol
var result, result2;
function calculate_zins1() {
var myBox1 = document.getElementById('box1').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),1)) ;
var result = document.getElementById('result');
var myResult = myBox1 * zins1_1;
result.value = myResult;
}
function calculate_zins2() {
var myBox1 = document.getElementById('box2').value;
var zins1 = document.getElementById("zinsValue").value;
var zins1_1 = parseInt(1) / (Math.pow(1 + (zins1/100),2)) ;
var result2 = document.getElementById('result2');
var myResult = myBox1 * zins1_1;
result2.value = myResult;
}
var sum = result.value + result2.value;