Abbildung 2 ruft die Funktion in Abbildung 1 auf und die Ausgabe ist undefiniert, aber in Abbildung 2 erzeugt der exakt gleiche Code im JQ-Klickereignis das Ausgabeergebnis. Dann habe ich in der Testfunktion eine Variable obj deklariert, um alle Objekte mit dem Attribut name=component_checkbox[] abzurufen. Zu diesem Zeitpunkt erfolgt beim Aufruf dieser Funktion im JQ-Click-Ereignis eine Ausgabe. Meine Frage ist, warum test() in Abbildung 2 das Ergebnis nicht ausgibt, aber undefiniert ist, wenn der Code in Abbildung 1 verwendet wird?
图二替换成这样:
MDN - Function.prototype.call
因为this的作用域不一样了,click那个闭包里this指的是你选中的checkbox,test函数里this是window或者别的object
图一的
$(this)
没有指向的值