Maison > Article > interface Web > Le problème de la définition d'une fonction anonyme pour la boucle de boutons dans js
Je voulais mettre en place des événements de surveillance pour la boucle du bouton, mais seul le dernier bouton a répondu, ou une erreur a été signalée directement non défini. Voici la mauvaise écriture originale. Définissez une fonction anonyme pour le bouton num_jia onclick. la fonction i utilisera for à la fin de la boucle i, qui est 3, donc une erreur non définie sera signalée.
fonction a(){
for(var i=0;i<3;i++) {
num_jia[i] = document.getElementsByClassName('num-jia')[i];
num_jia[i].onclick = function () {
alert(num_jia[i])
}
}
}
J'ai vérifié en ligne et j'ai découvert que si vous souhaitez que les fonctions anonymes se souviennent de leur i respectif, il vous suffit d'utiliser Packages de fermetures appropriés (fonctions qui peuvent accéder à des données indépendantes), les améliorations suivantes sont présentées, veuillez apprendre par vous-même les connaissances spécifiques sur les fermetures.
fonction a(){
for(var i=0;i<3;i++) {
num_jia[i] = document. getElementsByClassName('num-jia')[i];
;(function (i2) {
num_jia[i2].onclick = function () {
alert( num_jia[i2])
}
})(i);
}
}
J'ai ensuite fait des recherches et découvert qu'il existe en fait une manière complète d'écrire une fonction célèbre, qui produit le même effet et est facile à comprendre.
fonction a(){
pour (var i=0;i<3;i++) {
num_jia[i] = document.getElementsByClassName('num-jia')[i];
doThings(i);
}
}
functiondoThings(i){
num_jia[i2].onclick= function () {
Alerte (num_jia [i2])}
}
Le contenu ci-dessus est le problème de la définition d'une fonction anonyme du JS sur la boucle de bouton, j'espère. cela peut aider tout le monde.
Recommandations associées :
Exemple d'implémentation de l'effet de changement de couleur du bouton JSCode d'implémentation du bouton JS pour ajouter de la musique de fondComment la fonction de clignotement du bouton JS est-elle implémentée ?Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!