図 2 では、図 1 の関数を呼び出し、出力は未定義ですが、図 2 では、同じコードが JQ クリック イベントで使用され、出力結果は です。次に、属性 name=component_checkbox[] を持つすべてのオブジェクトを取得するために、テスト関数で変数 obj を宣言しましたが、このとき、JQ クリック イベントでこの関数を呼び出すと出力があります。私の質問は、図 1 のコードが使用されているときに、図 2 の test() が結果を出力せずに未定義になるのはなぜですか?
写真 2 をこれに置き換えます:
MDN - Function.prototype.call
this の範囲が異なるため、クリック クロージャの this は選択したチェックボックスを指し、テスト関数の this はウィンドウまたはその他のオブジェクトを指します
図 1 では、$(this) にはポインティング値がありません
$(this)
写真 2 をこれに置き換えます:
リーリーMDN - Function.prototype.call
this の範囲が異なるため、クリック クロージャの this は選択したチェックボックスを指し、テスト関数の this はウィンドウまたはその他のオブジェクトを指します
図 1 では、
$(this)
にはポインティング値がありません