入れ子関数における JavaScript "this" ポインターの謎
JavaScript コード スニペットで、"this" に関して予期しない動作が発生しました。 " 入れ子関数内のポインタ。オブジェクト メソッド内でネストされた関数を定義しているにもかかわらず、ネストされた関数内の "this" ポインターはグローバル "window" オブジェクトを指します。
"this" ポインターの動作は、次の関数呼び出しメソッドによって決まります。 JavaScript。 3 つの主なメソッドがあります:
直接呼び出し: someThing.someFunction(arg1, arg2, argN)
call() による関数呼び出し): someFunction.call(someThing, arg1, arg2, argN)
apply() による関数呼び出し: someFunction.apply(someThing, [arg1, arg2, argN])
指定した例では、明示的な関数呼び出しメソッドを使用せずに、ネストされた関数が呼び出されます。その結果、「this」ポインタはデフォルトでグローバル オブジェクトになります。これは通常、ブラウザ環境の「ウィンドウ」オブジェクトです。
「this」ポインタの動作を明示的に指定するには、次の変更を使用できます。 :
これらのメソッドのいずれかを利用するを使用すると、ネストされた関数内の「this」ポインターの動作を制御し、目的のオブジェクトを確実に参照できるようにすることができます。
以上が入れ子になった JavaScript 関数で「this」ポインタがグローバル オブジェクトを指すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。