You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 04:33:00