结果变量和计算中的 NaN

时间:2021-03-25 12:54:20

标签: javascript variables nan

我一直在研究 JavaScript 并尝试一些东西。我已经构建了一个小应用程序(见下面的代码)。一切顺利,直到函数 eindResultaat()。这里似乎有 resultaat3 (它是 NaN),但我不知道为什么。 resultaat1resultaat2 以相同的方式处理,一切顺利。

var resultatenArray = [];
var eindcijfer, eRes1, eRes2, eRes3, resultaat1, resultaat2, resultaat3;

function berekening1() {
  resultaat1 = document.getElementById("eersteTentamen").value;
  console.log("Dit is resultaat1 " + resultaat1);

  if ((resultaat1 == "GR") || (resultaat1 == "gr")) {
    document.getElementById("res1").innerHTML = "Geen resultaat";
    resultaat1 = resultaat1 || 0;
    //eRes1 = 0.0;
  } else {
    let res1 = document.getElementById("res1");
    res1.innerHTML = resultaat1;
    res1.style.color = resultaat1 >= 5.5 ? 'green' : 'red';
    document.getElementById("res1").innerHTML = resultaat1;
    //eRes1 = resultaat1;
    resultatenArray.push(resultaat1);
    console.log(resultatenArray);
  }
}

function berekening2() {
  resultaat2 = document.getElementById("tweedeTentamen").value;
  console.log("Dit is resultaat2 " + resultaat2);

  if ((resultaat2 == "GR") || (resultaat2 == "gr")) {
    document.getElementById("res2").innerHTML = "Geen resultaat";
    eRes2 = 0.0;
  } else {
    let res2 = document.getElementById("res2");
    res2.innerHTML = resultaat2;
    res2.style.color = resultaat2 >= 5.5 ? 'green' : 'red';
    document.getElementById("res2").innerHTML = resultaat2;
    //eRes2 = resultaat2;
    resultatenArray.push(resultaat2);
    console.log(resultatenArray);
  }
}

function berekening3() {
  resultaat3 = document.getElementById("derdeTentamen").value;
  console.log("Dit is resultaat3 " + resultaat3);

  if ((resultaat3 == "GR") || (resultaat3 == "gr")) {
    document.getElementById("res3").innerHTML = "Geen resultaat";
    var resultaat3 = 0.0;
    //eRes3 = 0;
    console.log(resultaat3);
  } else {
    let res3 = document.getElementById("res3");
    res3.innerHTML = resultaat3;
    res3.style.color = resultaat3 >= 5.5 ? 'green' : 'red';
    document.getElementById("res3").innerHTML = resultaat3;
    //eRes3 = resultaat3;
    resultatenArray.push(resultaat3);
    console.log(resultatenArray);
  }
  console.log(isNaN(resultaat3));
}

function eindResultaat() {
  var aantalDeelTentamens = resultatenArray.length;
  console.log(aantalDeelTentamens);

  console.log("resultaten: " + resultaat1, resultaat2, resultaat3);
  //console.log("eRes resultaten:" + eRes1, eRes2, eRes3);

  //parseFloat(resultaat1);
  //parseFloat(resultaat2);
  //parseFloat(resultaat3);

  console.log(isNaN(resultaat1));
  console.log(isNaN(resultaat2));
  console.log(isNaN(resultaat3));
  eindcijfer = ((resultaat1 + resultaat2 + resultaat3) / aantalDeelTentamens).toFixed(1);
  //var eindcijfer = ((eRes1 + eRes2 + eRes3)/aantalDeelTentamens).toFixed(1);
  console.log(eindcijfer);
  console.log(isNaN(eindcijfer));

  document.getElementById("eindresultaat").innerHTML = eindcijfer;
}
Resultaat <b>eerste</b> deeltentamen: <input type="text" value="" id="eersteTentamen"><input type="submit" name=buttonResultaat1 value="Resultaat bevestigen" onclick="berekening1()"><br><br> Resultaat <b>tweede</b> deeltentamen: <input type="text" value=""
  id="tweedeTentamen"><input type="submit" name=buttonResultaat2 value="Resultaat bevestigen" onclick="berekening2()"><br><br> Resultaat <b>derde</b> deeltentamen: <input type="text" value="" id="derdeTentamen"><input type="submit" name=buttonResultaat3
  value="Resultaat bevestigen" onclick="berekening3()"><br><br>

<hr> Resultaat <b>eerste</b> deeltentamen: <span id="res1"></span><br> Resultaat <b>tweede</b> deeltentamen: <span id="res2"></span><br> Resultaat <b>derde</b> deeltentamen: <span id="res3"></span><br><br>

<hr>
<br>
<input type="submit" name=eindresultaat value="Bereken eindresultaat" onclick="eindResultaat()"><br><br>

<b>Het eindresultaat is: </b> <span id="eindresultaat"></span>

1 个答案:

答案 0 :(得分:0)

确实,它在某些地方删除了 var,因此代码可以正常工作。不,如果有人进行 2 次测试而不是 3 次测试,我正忙于该怎么办。因此必须计算 2 次测试的平均值。

相关问题