ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で setTimeout() コールバックにパラメータを正しく渡すにはどうすればよいですか?

JavaScript で setTimeout() コールバックにパラメータを正しく渡すにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-16 17:08:12
オリジナル
441 人が閲覧しました

How Do I Correctly Pass Parameters to setTimeout() Callbacks in JavaScript?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート