javascript - 将函数返回值保存在 const 中是未定义的

标签 javascript function object

我正在一个小型 JS 应用程序上挑战自己,它是关于几支篮球队的,我正在计算正在比赛的三场比赛的平均得分。 我被困在一个基本的事情上,我不明白。

首先是代码:

// simple stringbuilder function
function appendStringBuilder(string, tag) {
  return document.querySelector(tag).append(string);
}

// function calculates average score of team
function avgScoreCalc(obj) {
  const values = Object.values(obj);
  let avgSum = 0;
  for (var i = 0; i < values.length; i++) {
    if (Number.isInteger(values[i])) {
      avgSum += values[i];
    }
  }
  avgSum = avgSum / 3;
  return Math.round(avgSum);
}

function challenge2(ObjName, teamName, firstGame, secondGame, thirdGame) {
  var ObjName = {
    teamName: teamName,
    firstGame: firstGame,
    secondGame: secondGame,
    thirdGame: thirdGame,
  };
  avgScoreCalc(ObjName);
  return appendStringBuilder(`${ObjName.teamName}: ${avgScoreCalc(ObjName)} | `, '.code-output-2');
  }

// IS UNDEFINED, WHY? <<<<
const TJohn = challenge2('TJohn', 'Team John', 89, 120, 103);
//----------------------------------------------------------

console.log(TJohn); //<<<< 'undefined'

我真的只想将“challenge2()”函数的返回值保存在一个简单的变量中。我究竟做错了什么? 调试说它未定义。

感谢您的帮助。

最佳答案

append返回未定义。你可能打算这样做

function appendStringBuilder(string, tag) {
  document.querySelector(tag).append(string);
  return string;
}

关于javascript - 将函数返回值保存在 const 中是未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890894/

相关文章:

javascript - window.location 导致连续循环使用

C - realloc 不反射(reflect)回 main

javascript - 对象内部的函数

javascript - 如何更改给定特定类的所有元素的宽度?

javascript - 如何检查 CleverTap 对象的值?

Java调用过程oracle plsql不返回数据但在plsql中返回数据

c - 将结构体值从 function() 返回到 main()

java - 如何在java中访问R(光栅对象)

Java - 都是实例对象吗?所有对象都是实例吗?

javascript - offsetHeight、clientHeight 和 scrollHeight 没有给出正确的高度