ホームページ  >  記事  >  ウェブフロントエンド  >  「this」が JavaScript で渡される引数を指すのはいつですか?

「this」が JavaScript で渡される引数を指すのはいつですか?

DDD
DDDオリジナル
2024-11-04 04:59:02392ブラウズ

When does `this` refer to the argument passed in JavaScript?

これは渡された引数をいつ参照しますか?

JavaScript では、this の値は関数の呼び出し方法によって決まります。これが関数に渡される引数を参照するシナリオがいくつかあります:

1。メソッド呼び出し

ドット演算子 (obj.method() など) を使用してオブジェクトのメソッドを呼び出す場合、これはオブジェクト インスタンス (obj) 自体を指します。あなたの例では、obj.prepareRandomFunction() が呼び出されるとき、prepareRandomFunction メソッド内のこれは obj.

2 を参照します。 .bind() の使用

.bind() メソッドは関数を受け取り、呼び出されたときの this 値が最初の引数として指定された値に設定された新しい関数を返します。あなたの例では、 this.sumData.bind(this) は、this を obj にバインドする新しい関数を作成します。このバインドされた関数でrandomFunctionが呼び出されると、randomFunction内のthisはobjを参照します。

混乱の回避

混乱を避け、これが意図したオブジェクトを確実に参照できるようにするには、明示的に次のようにすることをお勧めします。メソッドのコールバックを他の関数に渡すときは、.bind() を使用して this コンテキストをバインドします。これにより、コールバック関数内の this が正しい値を持つことが保証されます。

以上が「this」が JavaScript で渡される引数を指すのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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