Vorwortvar ist eine Möglichkeit, Variablen in ES5 zu deklarieren. Ich habe immer gehört, dass beim Deklarieren von Variablen mit var das Problem auftritt, dass Schleifenvariablen zu globalen Variablen durchsickern, aber ich kann die Auswirkungen dieses „Globalen“ nicht immer herausfinden. Darüber hinaus ist nicht klar, wann das Ausgabeergebnis ein steigender/fallender Wert ist und wann die Ausgabe der gleiche Wert ist. Reproduktion des Problemsfür (var i = 1; i <= 5; i++) { setTimeout(Funktion Timer() { Konsole.log(i) }, ich * 1000) } Erwartetes Ergebnis: 12345 Druckergebnis: 66666 LösungVerschlüsse für (var i = 1; i <= 5; i++) { (Funktion (j) { setTimeout(Funktion Timer() { konsole.log(j) }, j * 1000) })(ich) } setTimeout dritter Parameter für (var i = 1; i <= 5; i++) { setzeTimeout( Funktion Timer(j) { konsole.log(j) }, ich * 1000, ich ) } Verwenden Sie let, um i zu definieren für (lass i = 1; i <= 5; i++) { setTimeout(Funktion Timer() { Konsole.log(i) }, ich * 1000) } lassenBezüglich let gilt: Das aktuelle i ist nur in dieser Schleife gültig, und i ist in jeder Schleife tatsächlich eine neue Variable. Die JavaScript-Engine merkt sich intern den Wert der vorherigen Schleife und führt beim Initialisieren der Variable i dieser Schleife Berechnungen basierend auf der vorherigen Schleife durch. Darüber hinaus verfügt die For-Schleife über eine weitere Besonderheit: Der Teil, der die Schleifenvariable festlegt, ist ein übergeordneter Bereich, und der Schleifenkörper ist ein separater untergeordneter Bereich. für (sei i = 0; i < 3; i++) { sei i = 'abc'; konsole.log(i); } //ABC //ABC //ABC ZusammenfassenDies ist das Ende dieses Artikels zur Lösung der Probleme, die bei der Verwendung von var for-Schleifen auftreten. Weitere Informationen zu Problemen mit var for-Schleifen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Entdecken Sie die Wahrheit hinter dem Neuladevorgang in Nginx
In diesem Artikel wird der spezifische Code von V...
Vorwort Normalerweise wird für MySQL-Abfragen mit...
Inhaltsverzeichnis Was ist ein Index? Prinzip der...
Inhaltsverzeichnis 1. Einleitung 2. Nutzung Zusta...
Lassen Sie mich zunächst über die Implementierung...
Schritt 1: Den aktuellen Kernel anzeigen rew $ un...
Dies ist ein sehr einfacher, reiner CSS3-Hintergr...
Dieser Artikel beschreibt den detaillierten Vorga...
Dieser Artikel beschreibt, wie mehrere Instanzen ...
In diesem Artikel erfahren Sie, wie Sie MySQL 8.0...
<br />Im ersten Abschnitt dieser Reihe haben...
Inhaltsverzeichnis 1.1Tinyint-Typbeschreibung 1.2...
Inhaltsverzeichnis MySQL initialisieren MySQL-Die...
Inhaltsverzeichnis Ändern der Repository-Quelle S...
Inhaltsverzeichnis 1. fürJedes() 2. arr.filter() ...