-3

次のように、関数を 2 回または 3 回呼び出している場合:

somefunction();
somefunction();

関数が最後に呼び出されたのはいつかを知るにはどうすればよいですか?
最後の関数にもう1つのことをさせたいので、私はそれを求めています。

4

3 に答える 3

5

関数が「もう 1 つのこと」を行うかどうかを決定するパラメーターを渡します。

somefunction(false);
somefunction(true);
于 2012-11-07T17:31:14.203 に答える
0

関数が呼び出されたときにタイムアウトを設定すると、ブラウザに制御を返す最初の関数を終了するとすぐにコードが呼び出されます。

var timer = null;
function somefunction() {
  // do something
  if (timer == null) {
    timer = window.setTimeout(function(){
      // do one last thing
    }, 0);
  }
}

デモ: http://jsfiddle.net/Guffa/Fa5j3/

于 2012-11-07T17:34:31.173 に答える
0

あなたはこれを知ることはできません。

呼び出される頻度がわかっている場合は、変数をカウントダウンできます。

呼び出される頻度がわからない場合は、タイムアウトを開始して特別な関数を呼び出すことができます。someFunction を再度呼び出すと、古いタイムアウトがキャンセルされ、新しいタイムアウトが開始されます。

于 2012-11-07T17:36:07.490 に答える