ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の `setInterval` コールバックで `this` コンテキストを保持するにはどうすればよいですか?
JavaScript では、this キーワードは現在実行中のコードを所有するオブジェクトを参照します。 setInterval を使用する場合、コールバック関数が別のコンテキストで実行され、元の this へのアクセスが失われるため、これが問題になる可能性があります。これを解決するには:
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 サイトの他の関連記事を参照してください。