La figure 2 appelle la fonction de la figure 1 et la sortie est indéfinie, mais dans la figure 2, exactement le même code dans l'événement de clic JQ produit le résultat de sortie. Ensuite, j'ai déclaré une variable obj dans la fonction de test pour obtenir tous les objets avec l'attribut name=component_checkbox[]. À ce stade, il y a une sortie lors de l'appel de cette fonction dans l'événement click JQ. Ma question est la suivante : pourquoi le test() de la figure 2 ne génère pas le résultat mais n'est pas défini lorsque le code de la figure 1 est utilisé ?
Remplacez l'image 2 par ceci :
MDN - Function.prototype.call
Parce que la portée de ceci est différente, cela dans la fermeture par clic fait référence à la case à cocher que vous avez sélectionnée, et dans la fonction de test, cela fait référence à la fenêtre ou à un autre objet
Le
$(this)
de la figure 1 n'a aucune valeur de pointage