Ich bin ein JS-Neuling und habe über Verschlusssachen gelesen, die häufigen Probleme aufgrund von Missverständnissen, wie Schließungen funktionieren und die "Einstellungshandler in einer Schleife" waren ein ziemlich gutes Beispiel. Ich habe auch die Wege gesehen und verstanden, um dies zu umgehen, d. H. Durch Aufrufen einer anderen Funktion, die die Schleifenvariablen als Argumente übergibt und eine Funktion zurückgibt. Dann habe ich versucht, einen Zwischenfall zu machen, um zu sehen, ob es andere Möglichkeiten gibt, um dies zu umgehen, und ich habe den folgenden Code erstellt.Verschlüsse innerhalb von Schleifen und lokalen Variablen
Es funktioniert nicht, was ich vermutete, aber ich verstehe nicht warum. Ich verstehe, i
wurde erfasst und für alle erzeugten Funktionsausdrücke zur Verfügung gestellt. Aber warum funktioniert das immer noch nicht, nachdem die erfasste Variable der lokalen Variablen index
zugewiesen wurde? Weist i
das selbe wie i
als Argument einer anderen Funktion nicht zu? Ich meine, ist nicht i
ein primitives und soll es nicht kopiert werden?
Ich bin verwirrt und ich würde es wirklich schätzen, wenn mir jemand sagen könnte, was hier vor sich geht.
Wert von 'index' wird' I' Sie jedes Mal, klicken Sie darauf und Wert von 'I' ist' 9 'als' click'-Handler wird nur aufgerufen, nachdem 'loop' beendet ist..Versuchen Sie dies: https://jsfiddle.net/rayon_1990/sgtgfk8s/ – Rayon