JavaScript中如何将两个函数的结果相加后存入第三个函数中调用
实现方案
你需要先调整原有两个函数的返回逻辑,让它们返回计算得到的分值而非直接覆盖DOM内容,再定义第三个函数调用前两者求和即可,具体修改如下:
步骤1:修改原有两个函数,增加计算结果返回逻辑
function myFunc() { var grade1 = document.getElementById("grade").value; var unit = 3; var tUnits = 18; let result = 0; switch (grade1) { case 'a': result = (5 * unit / tUnits); break; case 'b': result = (4 * unit / tUnits); break; default: result = NaN; // 标记非法输入 } // 如果需要单独展示当前函数的结果可以放开下行注释,否则可以删除避免和总和展示冲突 // document.getElementById('demo').innerHTML = isNaN(result) ? 'Please input a valid grade' : result; return result; } function myFunc2() { var grade2 = document.getElementById("grade2").value; var unit2 = 3 var tUnits = 18 let result = 0; switch (grade2) { case 'a': result = (10 * unit2 / tUnits); break; case 'b': // 原代码未写b等级对应的计算逻辑,可按需补充,示例如下: result = (8 * unit2 / tUnits); break; default: result = NaN; // 标记非法输入 } // 同理可选择是否单独展示当前函数结果 // document.getElementById('demo').innerHTML = isNaN(result) ? 'Please input a valid grade' : result; return result; }
步骤2:定义第三个函数实现求和逻辑
function getTotalScore() { const score1 = myFunc(); const score2 = myFunc2(); // 存在非法输入时返回提示 if (isNaN(score1) || isNaN(score2)) { const totalResult = 'Please input valid grade for both fields'; document.getElementById('demo').innerHTML = totalResult; return totalResult; } // 计算总和 const total = score1 + score2; // 展示总和,toFixed(2)为保留两位小数,可按需删除 document.getElementById('demo').innerHTML = total.toFixed(2); return total; }
后续直接调用getTotalScore()即可获取两个函数的计算结果之和,结果会同步展示到#demo元素上。
内容的提问来源于stack exchange,提问作者Joesno
相关产品推荐
相关产品推荐

