24

W3Schoolsによると、タイムアウトは必須パラメーターです。ただし、タイムアウト パラメータなしで呼び出すことは可能です。

function eventHandler(e) {
    var t = setTimeout(function () {
        clearTimeout(t);
        alert('Called');
    });
}
4

5 に答える 5

34

HTML5Timer仕様には次のように書かれています:

5) timeout を 2 番目のメソッド引数にするか、引数が省略された場合はゼロにします。

于 2013-08-16T14:19:46.367 に答える
13

自分で調べてみませんか?ドキュメントはいつでも歓迎しますが、実際の例に勝るものはありません。

var startTime = Date.now();
setTimeout(function () {
    var endTime = Date.now();
    alert("timeOut was: " + (endTime - startTime) + "ms");
});

JSFiddle: http://jsfiddle.net/losnir/PbJBA/
さまざまなタイムアウト値を試してみてください。

タイムアウト引数を渡さないことは、実質的に を渡すことと同じ0です。ただし、ご覧のとおり、タイムアウトは never です0。これは、コールバック関数がキューに入れられ、できるだけ早く実行されるためです (要求されたタイムアウト値が与えられます)。

平均で約 5 ミリ秒かかります。UI スレッドが集中的なタスクを実行している場合、または CPU がビジー状態の場合は、数百ミリ秒にも達することがあります。

于 2013-08-16T14:31:54.313 に答える