ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の `setInterval` ハンドラーの `this` に正しくアクセスするにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。