0

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

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

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

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

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

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

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);
4

1 回答 1

3

您的函数timeSplit()不接受任何参数。它需要timeSplit(time)让 JavaScript 知道您正在谈论调用.split()对象上的方法,time而不是刚刚调用的函数time.split()

如果这不仅仅是一个错字(我以前做过),我建议你阅读一些关于函数参数和参数的内容,这样你就知道你了解它是如何工作的,这真的很重要。

于 2012-08-02T22:46:40.087 回答