set timeout を呼び出すと、たとえば数値が返されます
> setTimeout(function(){ console.log('done'); },1000);
4431
"done"
この番号を使用して通話できることはわかっていますclearTimeout()
が、この番号は内部的に何を表しているのですか?
set timeout を呼び出すと、たとえば数値が返されます
> setTimeout(function(){ console.log('done'); },1000);
4431
"done"
この番号を使用して通話できることはわかっていますclearTimeout()
が、この番号は内部的に何を表しているのですか?
それが何を表しているかは問題ではありません。これは、メモリ内のアドレス、配列へのインデックス、またはインタプリタ + オフセットを作成したプログラマの National ID # である可能性があります。
あなたは気にしません。気にしないほうがいい。ある特定のブラウザー/JS 環境の内部で今日対応しているものは何でも、明日は別の場所で別のことを意味する可能性があります。
知っておく必要があるのは、この番号がタイマーに対応していることだけです。後でタイマーに何かをする必要がある場合は、その番号が必要になるので、安全に保管してください。タイマーが切れたら捨てて、二度と考えないようにしましょう。
少し細かい詳細に興味がある場合は、アクティブなタイムアウトのリストの仕様を参照してください。数値 (ハンドル) が内部的に何かを表している必要はありません。特定のタイマーを確実に識別するために使用できるというだけの要件があります。
細かいところに興味がある場合は、お気に入りのブラウザのソースをダウンロードして、町に行ってください...
使用するJSエンジン、つまり使用するブラウザに依存すると思います。以前の質問から、返された ID を列挙する方法はブラウザごとに異なることがわかっています。
イベントを追跡する方法を表す ID です。
これを行う通常の方法は、myTO = setTimeout(...) などの setTimeout ステートメントに等しい変数を設定してから、clearTimeout(myTO) でクリアすることだと思います。