は、私はライン 理由のsetTimeoutを使用することができます( "1")のソースコードを読んでいる間
console.log(setTimeout("1"))
なぜわからないのですか?私を助けてください。 MDN 1として
は、私はライン 理由のsetTimeoutを使用することができます( "1")のソースコードを読んでいる間
console.log(setTimeout("1"))
なぜわからないのですか?私を助けてください。 MDN 1として
、
返さ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"))
[ドキュメント](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout)戻り値にあなたの質問に答えます。 – Gerrit0