我有两个函数从未来值创建当前值:
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;
}
现在我要添加结果+ result2。
任何人都可以帮助我吗?感谢。
答案 0 :(得分:4)
您需要让函数返回您想要的值。
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()
答案 1 :(得分:1)
var result = document.getElementById('result');
var result2 = document.getElementById('result2');
var sum = Number(result.value) + Number(result2.value);
我认为简单地使函数返回计算值的建议是不够的。它们应该返回值或将其设置为输入元素的value
属性,它们不应该同时执行这两个操作。做两件事的功能是,特别是当它的副作用,设计不好时。
答案 2 :(得分:0)
你不能只返回值并执行:
var sum = calculate_zins1() + calculate_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;
}
答案 3 :(得分:0)
试试这个:
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;