Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何求两个函数的值之和?_Javascript_Html_Math - Fatal编程技术网

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;