需要 JavaScript NaN bug 帮助



我有一个函数,用作计算器的一部分。 我用JSMin缩小了它。 我重写了代码,以便调试代码,但是现在我重写了代码,我发现了一个新错误(新错误是 NaN 问题)。 输出应该是一个数字,但不是 NaN。 代码如下所示。

    function calculate() {
  console.log(1);
  var activity = $("#txtActivity").val();
  var days = parseInt( $("#txtDays").val(), 10);
  var hours = parseInt( $("#txtHours").val(), 10);
  var minutes = parseInt( $("txtMinutes").val(), 10);
  var seconds = parseInt( $("txtSeconds").val(), 10);
  var MoneyMadeDuringActivity = (days * 21464) + (hours * 2683) + (minutes * 4472) + (seconds * 0.74);

  $("#CalcOutput").html("In the time it takes me to " + activity + ",<br />Barack Obama makes $" + MoneyMadeDuringActivity);
}
  $("#btnCalculate").click(function() {
    calculate();
  });

我很难弄清楚如何摆脱这个错误,因为"activity"是唯一的字符串变量,而所有其他变量都是数字或parseInt'ed。

这是我得到的输出:

在我在这里输入一些东西的时间内,巴拉克奥巴马做出了$NaN

您缺少以下行中的#

var minutes = parseInt( $("txtMinutes").val(), 10);
var seconds = parseInt( $("txtSeconds").val(), 10);

因为选择器没有找到任何内容,所以它实际上是:

var minutes = parseInt(undefined, 10); // NaN
var seconds = parseInt(undefined, 10); // NaN

最新更新