Maison >interface Web >js tutoriel >Pourquoi tous mes gestionnaires de clics renvoient-ils « Lien 5 » ?
Problème de boucle infâme Javascript : la fermeture dévoile la magie
Le problème notoire de boucle survient lorsque l'extrait de code tente de créer une collection de liens avec gestionnaires de clics uniques. Pourtant, chaque clic est enregistré comme « lien 5 », jetant un sort de perplexité. par fonctions, pas par blocs. Les fermetures, sorciers voilés, prennent au piège le champ englobant à leur portée.
La boucle défectueuse
Dans la boucle errante, la variable 'i' est confinée dans la fonction, incarcéré par une prison de fermeture. À mesure que la boucle se termine, le « i » se transmue en « 5 », laissant son empreinte fantomatique sur les malheureux gestionnaires.
La boucle du Sauveur
Une lueur d'espoir émerge de la deuxième boucle. Chaque itération évoque un objet fonction indépendant, chacun gardant son propre « numéro » sentinelle. Cette empreinte résiste à la touche mutagène du temps, protégeant ceux qui la manipulent du sort insidieux du « 5 ». exige un prix extravagant - deux nouveaux objets fonctionnels par lien. Une solution plus élégante consiste à exploiter les connaissances secrètes du DOM. En stockant les données directement sur les nœuds, nous évoquons des liens avec des souvenirs distincts, absous de la tyrannie du champ extérieur.
L'élixir arcanique
Le véritable enchantement réside dans cette potion de code :
Chaque lien porte son propre « i », murmurant son identité unique dans le l'attrait d'un clic. La magie de Closure, désormais exercée avec précision, jette un sort d'émerveillement, permettant aux liens de se remémorer leur propre destin.
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!