setTimeout() コールバックへのパラメータの受け渡し
JavaScript では、setTimeout() 関数を使用して、コールバックの後に関数が実行されるようにスケジュールできます。イベント ループをブロックすることなく、指定された遅延を実現します。ただし、パラメータをコールバック関数に正しく渡す方法を理解することが重要です。
次のコードを考えてみましょう:
function statechangedPostQuestion() { // ... setTimeout("postinsql(topicId)", 4000); }
このコードは、 topicId パラメータを postinsql() 関数に渡そうとします。文字列を使用します。ただし、このアプローチは非推奨であり、現在の JavaScript バージョンでは機能しません。
setTimeout() コールバックにパラメータを正しく渡すには、コールバックを匿名関数として定義し、引数として直接渡す必要があります。
setTimeout(function() { postinsql(topicId); }, 4000);
このアプローチにより、関数がすぐに呼び出されず、topicId パラメーターがcallback.
更新:
最新の JavaScript の出現により、Function.prototype.bind() を使用して setTimeout() コールバックに引数を渡すことができるようになりました。このアプローチは、匿名関数を作成せずに引数を関数にバインドする簡潔な方法を提供します。
setTimeout(postinsql.bind(null, topicId), 4000);
これらのガイドラインに従うことで、パラメータを setTimeout() コールバックに正しく渡すことができ、適切な実行を保証し、エラーを回避できます。
以上がJavaScript で setTimeout() コールバックにパラメータを正しく渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。