0

同じページにテキスト入力ボックスとカウントダウンがあります。箱から時間を取ってカウンターに入れたい。テキストボックス「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);
4

1 に答える 1

3

関数timeSplit()は引数を取りません。呼び出されたばかりの関数ではなく、呼び出されたオブジェクトtimeSplit(time)でメソッドを呼び出すことについて話していることを JavaScript が認識できるようにする必要があります。.split()timetime.split()

これが単なるタイプミスではない場合 (私は以前に行っことがあります)、関数の引数とパラメーターについていくつか読んで、これがどのように機能するかを理解することをお勧めします。これは非常に重要です。

于 2012-08-02T22:46:40.087 に答える