48

setTimeout が何を返すのか興味がありました。だから私は簡単なテストをしました:

var thing = setTimeout(function(){},1);

そして、私が驚いたのは、それが私に番号を与えたことです. 1351毎回異なります。

それで、それが返すのは本当に数字だけですか?それで、私は実際にこれを行うことができますか?

clearTimeout(1351);

非常に紛らわしいです...

4

5 に答える 5

57

これはハンドル (一意の識別子) です。タイムアウトを作成すると、JavaScript ランタイムはハンドルを作成したタイムアウトに関連付け、ハンドルがsetTimeout()返されることでそのタイムアウトを識別できます。を実行するclearTimeout()と、渡された一意のハンドルを見ることで、話しているタイムアウトがわかります。

于 2012-04-09T04:46:48.083 に答える
13

timerIDタイマーを一意に識別すると考えることができるため、次の方法でリセットできます。clearTimeout(timerID)

于 2012-04-09T04:48:41.283 に答える