2017-01-01 2 views

答えて

3

返さtimeoutIDはsetTimeoutメソッドへのコールによって作成されたタイマーを識別する数値、ゼロ以外の値は()です。この値をWindow.clearTimeout()に渡してタイムアウトをキャンセルすることができます。

したがって、= setTimeout()を実行すると、渡したものの価値は得られませんが、システムによって生成された識別子です。

setTimeoutは、指定された遅延後にイベントヒープにイベントを登録します。遅延が記載されていない場合は0としますが、setTimeout(notify, 0)notify()と同じではありません。

また、setTimeoutは、最初のパラメータとして関数を想定しています。文字列を受け取ると、関数呼び出しを文字列として渡し、コンパイラはevalを使用して評価しようとします。したがって、setTimeout("1")eval("1")になり、"1"を返すため、エラーは発生しません。

function notify(){ 
 
    console.log('ta-da!!!'); 
 
} 
 
var a = 10; 
 

 
setTimeout("notify()",0) 
 

 
// sample for eval 
 
console.log(setTimeout("a")) 
 

 
// This should throw error as `b` is not declared 
 
console.log(setTimeout("b"))
おそらく検討... INTERVALIDを返すのsetTimeout

関連する問題