Maison  >  Article  >  interface Web  >  Le problème de la définition d'une fonction anonyme pour la boucle de boutons dans js

Le problème de la définition d'une fonction anonyme pour la boucle de boutons dans js

小云云
小云云original
2017-12-06 15:09:481538parcourir

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 JS

Code d'implémentation du bouton JS pour ajouter de la musique de fond

Comment 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn