ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の `setInterval` ハンドラーの `this` に正しくアクセスするにはどうすればよいですか?

JavaScript の `setInterval` ハンドラーの `this` に正しくアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-01 05:49:13922ブラウズ

How to Correctly Access `this` in `setInterval` Handlers in JavaScript?

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

setInterval を使用して指定された間隔で関数の実行をスケジュールする場合、多くの場合、ハンドラー関数内で間隔を開始したオブジェクト。ただし、ハンドラー内の this キーワードが正しいコンテキストを参照しない可能性があり、エラーが発生します。

解決策:bind を使用します

this キーワードが確実に参照するようにするにはsetInterval ハンドラー内で目的のオブジェクトを指定するには、bind() メソッドを利用できます。以下のコードに示すように:

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

retrieve_rate 関数を現在の this コンテキストにバインドすることにより、ajax.onload 関数内の this キーワードは間隔を開始したオブジェクトを正しく指すようになります。これにより、必要に応じて this.prefs プロパティにアクセスできるようになります。

以上がJavaScript の `setInterval` ハンドラーの `this` に正しくアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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