setTimeout は、特定の関数の実行を遅らせるためによく使用されます。使用方法は次のとおりです。
setTimeout(function(){
…
}、タイムアウト);
setTimeout(function...,0) は、たとえば次のように非同期処理に使用されることがあります。
関数 f(){
… // 準備をしましょう
setTimeout(function(){
…. // 何かをしてください
}, 0);
戻る …;
}
関数 f は、setTimeout で設定された関数プロセッサの前に戻ります。
非同期処理を使用する場合、特にクロージャ機能を使用する場合は特に注意してください。
例:
コードをコピーします
console.log(i);
}, 0);
}
この方法を初めて使用する学生は、プログラムが 0...9 を出力すると思うかもしれませんが、実際には 10 が 10 個出力されます。
問題は、ループが完了すると関数が実行され、i が 10 になったことです。これは console.log(i) で使用されている 10 です。
目的が 0...9 を出力することである場合は、方法を変更し、関数パラメータを使用して 0...9 を保存できます (実際には、クロージャも使用されます):
コードをコピーします
return function(){
console.log(i);
}
})(i), 0);
}