首页 > 解决方案 > 添加for循环后JS函数“未定义”

问题描述

我正在尝试创建一个计算器,它以数字为输入,决定该数字在哪个范围内,并将相应的价格添加到基本价格(当前设置为 0)。但是,我被困在一个相当简单的 for 循环中,我插入以迭代范围(在 seizprijs 中)。如果没有 for 循环,代码似乎做得很好。但是,如果我运行包含 for 循环的代码,该函数将返回“未定义”。

我对编码完全陌生,所以我希望这是一个简单的问题。但是,我尝试了所有可以在网上找到的建议,但似乎没有任何效果。

const seizprijs = [
{tijd : "winter", bdatum : 1, edatum : 5, prijs : 45},
{tijd: "lente", bdatum: 5, edatum: 9, prijs: 50}
];

function myFunction() {
  var prijs = 0;

  var vdat = document.getElementById("datum");
  var vdatum = vdat.value;

  for (var x = 0, x < seizprijs.length, x++){

    if (vdatum > seizprijs[1].bdatum && vdatum < seizprijs[1].edatum)
    {
      prijs += seizprijs[1].prijs;
    }
  }

 document.getElementById("demo").innerHTML = "Totaalprijs:" + prijs;

}
<h1>Boeking</h1>
<p id="demo">Totaalprijs: </p>
<form id="boeking">
  <input type="number" name="datum" id="datum">
</form>
<button type="button" onclick="myFunction()">Prijs berekenen</button>

标签: javascriptfunctionfor-loop

解决方案


你正在使用,而不是;在你的 for 循环中

试试这样

for (var x = 0; x < seizprijs.length; x++)

推荐阅读