如何将两个函数的值相加?

时间:2017-06-22 14:28:15

标签: 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 = 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。

任何人都可以帮助我吗?感谢。

4 个答案:

答案 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;