Javascript 需要帮助吗

Javascript 需要帮助吗,javascript,jquery,math,nan,Javascript,Jquery,Math,Nan,我有一个函数,它是计算器的一部分。我用JSMin缩小了它。我重写了代码以便调试代码,但是现在我重写了代码,我发现了一个新的错误(新的错误就是NaN问题)。输出应该是一个数字,而不是NaN。代码如下所示 function calculate() { console.log(1); var activity = $("#txtActivity").val(); var days = parseInt( $("#txtDays").val(), 10); var hours

我有一个函数,它是计算器的一部分。我用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();
  });
函数计算(){
控制台日志(1);
var活动=$(“#txtActivity”).val();
var days=parseInt($(“#txtDays”).val(),10);
var hours=parseInt($(“#txtHours”).val(),10);
var minutes=parseInt($(“txtMinutes”).val(),10);
var seconds=parseInt($(“txtsonds”).val(),10);
var MoneyMadeDuringActivity=(天*21464)+(小时*2683)+(分钟*4472)+(秒*0.74);
$(“#CalcOutput”).html(“在我去“+activity+”的时候,
巴拉克·奥巴马赚了$”+MoneyMadeDuringActivity); } $(“#btnCalculate”)。单击(函数(){ 计算(); });
我很难弄清楚如何摆脱这个bug,因为“activity”是唯一的字符串变量,而所有其他变量都是数字或是解析的

这是我得到的输出:

当我在这里输入内容时,巴拉克·奥巴马赚了$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
以下行中缺少
#

var minutes = parseInt( $("txtMinutes").val(), 10);
var seconds = parseInt( $("txtSeconds").val(), 10);
由于选择器找不到任何内容,因此实际上:

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