传递变量不能使用我的函数 - Javascript

时间:2012-08-02 22:43:06

标签: javascript jquery

我在同一页面上有文字输入框和倒计时。我想从盒子里抽出时间把它输入柜台。我从文本框“setTime”中得到一个变量。我想把它直接放到我的timeSplit函数中(将时间转换为秒),但是当我这样做时,我得到一个“time.split不是函数”的错误。我在这里做错了什么?

当我有一个静态变量输入函数时(例如time =“12:12:12”),一切都很完美。 - 除了没有使用正确的时间

当我在timeSplit函数之前在setTime上运行弹出警报时,我看到我的时间就像这个“12:12:12”所以它从计数器出来没有问题而且我没有得到NaN错误

为什么时间变量在静态时会起作用,而在传递时却不起作用

我尝试将setTime转换为字符串,但即使我尝试将sec变量转换回int也只会导致NaN错误。

我认为这是相关代码,如果您需要更多,请告诉我。

var setTime = 0;
var $fromTime = $("#formEntry");

$("#setTime").off("click").on("click", function(){
  setTime = $fromTime.val();
});

function timeSplit(){
  //time = "12:12:12";
  tt = time.split(":");
  sec = tt[0]*3600+tt[1]*60+tt[2]*1;
  return sec;
}

var time = setTime;
//var time = "12:12:12";
var sec = timeSplit(time);

1 个答案:

答案 0 :(得分:3)

您的函数timeSplit()不带任何参数。它必须是timeSplit(time),以便JavaScript知道您正在讨论在名为.split()的对象上调用方法time而不是名为time.split()的函数。

如果这不是一个错字(我之前已经完成那个),我建议您阅读一些关于函数参数和参数的信息,这样您就会知道它是如何工作的,这非常重要。