入れ子関数における 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」ポインターの動作を制御し、それが目的のオブジェクトを確実に参照できるようにすることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3