Maison >interface Web >js tutoriel >Pourquoi tous mes gestionnaires de clics renvoient-ils « Lien 5 » ?

Pourquoi tous mes gestionnaires de clics renvoient-ils « Lien 5 » ?

DDD
DDDoriginal
2024-12-27 10:47:13197parcourir

Why Do All My Click Handlers Return

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!

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