ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の `setInterval` コールバックで `this` コンテキストを保持するにはどうすればよいですか?

JavaScript の `setInterval` コールバックで `this` コンテキストを保持するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-29 10:34:14222ブラウズ

How Can I Preserve the `this` Context in JavaScript's `setInterval` Callback?

JavaScript の setInterval コールバックで this を保持する

JavaScript では、this キーワードは現在実行中のコードを所有するオブジェクトを参照します。 setInterval を使用する場合、コールバック関数が別のコンテキストで実行され、元の this へのアクセスが失われるため、これが問題になる可能性があります。これを解決するには:

setInterval ハンドラーでこれにアクセスする

setInterval コールバックでこれにアクセスできるようにするには、bind() メソッドを使用します:

this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);

ここ、bind(this) は、retrieve_rate コールバック内の this が常に間隔が設定されたオブジェクト (つまり、 prefs が定義されています)。

この変更により、ajax.onload コールバック内で this.prefs にアクセスできるようになります:

ajax.onload = function()
{
    // Access this.prefs here
}

以上がJavaScript の `setInterval` コールバックで `this` コンテキストを保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。