


Wie ich versucht habe, das Innere einer verschachtelten For-Schleife in JavaScript zu verstehen
Was steht in diesem Leitfaden?
Dies ist eine grundlegende Anleitung, in der ich versucht habe, verschachtelte „for-Schleifen“ in JavaScript Schritt für Schritt zu erklären. Die Logik und Iterationen der Schleife im Detail aufschlüsseln, indem ein Programm geschrieben wird, das ein durchgehendes quadratisches Muster auf der Browserkonsole druckt. Ich werde erklären, was im Kopf einer Schleife passiert, sowie die Iterationen innerhalb der verschachtelten Schleife und ihre Arbeitsreihenfolge.
Für wen ist der Leitfaden gedacht?
Der Leitfaden richtet sich an absolute Anfänger, die die grundlegenden JavaScript-Grundlagen erlernt haben oder sich über die Funktionsweise der „for-Schleife“ im Klaren sind.
Voraussetzung: Grundlegendes JavaScript, Datentypen (Zeichenfolge, Zahl), Operatoren (=, <, >, , =) und For-Schleife.
Dieser Artikel wurde ursprünglich unter Webdevstack.hashnode.dev veröffentlicht
Einführung
Das Drucken eines einfarbigen quadratischen Musters ist eine Herausforderung für Anfänger. Die Herausforderung besteht darin, ein Programm zu schreiben, das anhand eines bestimmten Zeichens ein Muster ausgibt, das die Form eines festen Quadrats auf der Konsole erzeugt. In dieser Anleitung werden wir das Programm Schritt für Schritt mit der for-Schleife schreiben, um zu verstehen, wie die Schleife funktioniert, und jeden Schritt im Detail aufschlüsseln, was passiert, wenn eine for-Schleife zu funktionieren beginnt.
Das Problem verstehen
Visualisieren Sie ein Muster in Form eines ausgefüllten Quadrats aus einem beliebigen Zeichen, z. B. #, in einer Rastergröße von 4 × 4 Zeichen. Das bedeutet, dass vier Zeilen mit je vier Zeichen das ausgefüllte Quadrat der Größe 4 x 4 (Spalte und Zeile) bilden. So sollte es auf der Konsole aussehen.
Es ist notwendig, die Reihenfolge des Musters zu verstehen. Jedes neue Zeichen besteht aus 4 Zeichen (als Spaltenanzahl) und ergibt eine Zeile. Wir müssen diesen Satz in jeder neuen Zeile viermal wiederholen, um unser spezifisches Muster zu drucken.
Starten des Basic
Beginnen wir zunächst mit der Deklaration von Variablen zum Speichern einiger Werte. Die erste Variable ist die Größe, die die Zahl 4 speichert, die zur Berechnung des Musters erforderlich ist. Das zweite ist result, dem eine leere Zeichenfolge zugewiesen wird, um die endgültige Ausgabe zu speichern. Da es einen String-Wert enthält, wird dem Ergebnis ein leerer String als Anfangswert zugewiesen. (Sie können die Ausgabe am Ende überprüfen, was sie zurückgibt, wenn Sie keine leere Zeichenfolge speichern)
let size = 4; let result = "";
(Es ist möglich, dies zu tun, ohne Variablen zu initialisieren, aber die Variable wird zur besseren Wartung verwendet. Abgesehen von der for-Schleife könnte das Programm auch mit einer while-Schleife oder mit anderen Methoden geschrieben werden, aber das ist nicht unser Ziel dieser Anleitung)
Schreiben wir zum Beispiel unsere grundlegende „for-Schleife“, um die Schleife zu verstehen, indem wir sie in kleine Schritte unterteilen. Wenn wir die Grundlagen klar verstehen, können wir unseren nächsten Schritt leichter in Betracht ziehen.
let size = 4; let result = "";
Grundlegendes zur Grundeinrichtung
-
Variablen-Setup
Größe = 4; – Anzahl der Schleifeniterationen.
result = ""; – Leere Zeichenfolge zum Speichern der endgültigen Ausgabe.
Schleifeninitialisierung: count = 0; legt den Startwert für die „For-Schleife“ fest.
Schleifenkonditionierung: Anzahl < Größe; Prüft, ob count kleiner als size ist. Die Schleife läuft, bis die Bedingung „falsch“ zurückgibt.
Schleifenkörper: result = "#"; Hängt ein „#“-Zeichen an das Ergebnis bei jeder for-Schleifeniteration an.
-
Schleifenvariable aktualisieren: count ; Inkremente zählen am Ende jeder Iteration um 1.
Anzahl → Anzahl = Anzahl 1
Eine Inkrementierung ist erforderlich, sonst läuft die Schleife endlos.
Anhängen: Hinzufügen eines neuen Werts am Ende des vorhandenen Werts. Lassen Sie beispielsweise text = „Hallo“; Wenn ich einen anderen Wert mit der Textvariablen verkette, z. B. text = „World“; Es hängt die Zeichenfolge „World“ an den vorhandenen Wert „Hello“ an, was zur Ausgabe „HelloWorld“ führt. text = „Welt“ → text = text „Welt“ → text = „Hallo“ „Welt“ → text = „HalloWelt“
Was passiert bei jeder Iteration?
Größe = 4; result = „“;
Iteration 1:
count = 0; → zählen < Größe; → 0 < 4 → Bedingung wahr → Schleifenkörper
result = „#“; → result = result „#“; → result = „“ „#“ → result = „#“;
Anzahl → Anzahl = Anzahl 1 → Anzahl = 0 1 → Anzahl = 1
Iteration 2:
Anzahl = 1; → zählen < Größe; → 1 < 4 → wahr → Schleifenkörper
result = „#“; → result = result „#“; → result = „#“ „#“ → result = „##“;
Anzahl → Anzahl = Anzahl 1 → Anzahl = 1 1 → Anzahl = 2
Iteration 3:
Anzahl = 2; → 2 < 4 → wahr → Schleifenkörper
result = „#“; → Ergebnis ist „###“
Anzahl → Anzahl ist 3
Iteration 4:
Anzahl = 3; → 3 < 4 → wahr → Schleifenkörper
result = „#“; → Ergebnis ist „####“
Anzahl → Anzahl ist 4
Das Ende der Iteration:
- Anzahl = 4; → 4 < 4 → falsch → Schleife stoppt.
console.log(result); Gibt den Endwert aus dem Ergebnis an die Konsole aus. Der Endwert ist der zuletzt aktualisierte Wert. In diesem Fall Ausgabe: ####
Das Nest bauen – Musterkonstruktion
Bisher haben wir mithilfe einer For-Schleife vier „#“-Zeichen (jedes Zeichen könnte als Spalte betrachtet werden) in einer Zeile (die wir Zeile nennen) gedruckt. Wir benötigen insgesamt 4 Zeilen mit ähnlichen Zeichensätzen ####, um die Dimension für ein Quadrat zu bilden. ✅
Wir können dies erreichen, indem wir unsere gesamte Schleife viermal wiederholen, indem wir die Schleife in eine neue Schleife einfügen. Diese neue Schleife erstellt jeden Satz #### von Zeichen viermal. Dies bildet eine verschachtelte Schleife, also eine Schleife innerhalb einer anderen Schleife, eine innere Schleife und eine äußere Schleife.
?Jedes Mal, wenn die äußere Schleife ausgeführt wird, wird die innere Schleife ausgeführt, die ebenfalls viermal iteriert. Das bedeutet, dass vier Iterationen der äußeren Schleife die innere Schleife viermal ausführen, was insgesamt 16 Iterationen für die innere Schleife ergibt. Das sieht wie folgt aus.
Ändern wir unseren Code entsprechend unserer Idee und aktualisieren wir auch die Variablennamen der Schleifen entsprechend. Der Name für die innere Schleife lautet „col“, da Zeichen durch die Spaltenanzahl platziert werden, und für die äußere Schleife lautet er „row“.
let size = 4; let result = "";
Beide Schleifen werden so lange wiederholt, bis die Bedingungszeile < Größe und Farbe < Größe wird falsch. Die Zeile und die Spalte erhöhen in jeder Iteration nacheinander ihre eigenen Werte.
Wenn wir nun unseren Code ausführen, sieht die Ausgabe wie folgt aus: ################, was nicht unsere gewünschte Ausgabe ist. Dies liegt daran, dass wir nicht für jede Zeile eine neue Zeile eingefügt haben.
- Als innere Schleife, die für jeden Satz #### verantwortlich ist, hängen wir das neue Zeilenzeichen „n“ an dasselbe Variablenergebnis an, nach der inneren Schleife, aber immer noch innerhalb des Körpers der äußeren Schleife: result = „n“. ";
for(let count = 0; count < size; count++){ result += "#"; } console.log(result); // Play with this code on a code playground or on console.
- Für jede Zeile hängt die innere Schleife das Zeichen „#“ an das Ergebnis an. Sobald das Zeichen hinzugefügt und beendet wurde, hängt die äußere Schleife „n“ an die Ergebnisvariable an, um in eine neue Zeile zu wechseln.
Bremsen der verschachtelten Iterationen
➿ Äußere Schleife
Iteration1: Zeile = 0 → Zeile < Größe → 0 < 4 → wahr
-- Äußerer Schleifenkörper
--- Innere Schleife
--- Iteration1: Spalte = 0: Ergebnis = „#“, also wird Ergebnis zu „#“, Spalte
--- Iteration2: Spalte = 1: Ergebnis = „#“, also wird Ergebnis zu „##“, Spalte
--- Iteration3: Spalte = 2: Ergebnis = „#“, sodass das Ergebnis zu „###“ wird, Spalte
--- Iteration4: Spalte = 3: Ergebnis = „#“, sodass das Ergebnis zu „####“ wird, Spalte
--- Ausgang der inneren Schleife
--result = „n“: Ein Zeilenumbruchzeichen wird hinzugefügt, sodass das Ergebnis zu „####n“ wird.
Zeile → Wert der Zeile auf 1 erhöhen
Iteration2: Zeile = 1 → Zeile < Größe → 1 < 4 → wahr
-- Äußerer Schleifenkörper
--- Innere Schleife
--- Iteration1: Spalte = 0: Ergebnis = „#“, also wird das Ergebnis zu „####n#“, Spalte
--- Iteration2: col = 1: result = „#“, also wird das Ergebnis zu „####n##“, col
--- Iteration3: col = 2: result = „#“, also wird das Ergebnis zu „####n###“, col
--- Iteration4: Spalte = 3: Ergebnis = „#“, also wird das Ergebnis zu „####n####“, Spalte
--- Ausgang der inneren Schleife
-- result = „n“: Ein Zeilenumbruchzeichen wird hinzugefügt, sodass das Ergebnis zu „####n####n“ wird.
Zeile → Wert der Zeile auf 2 erhöhen
Der nachfolgende Vorgang wird wiederholt
-Iteration3: Zeile = 2 → 2 < 4 → wahr → „####n####n####n“ → Zeile erhöht den Wert auf 3
-Iteration4: Zeile = 3 → 3 < 4 → wahr → „####n####n####n####n“ → Zeile erhöht den Wert auf 4
-End Iteration: row = 2 → 2 < 4 → false → Stoppt
➿ Ausgänge der äußeren Schleife
Letzte Zeile console.log(result); druckt den Endwert.
„####n####n####n####n“ ist der Endwert, den die Ergebnisvariable am Ende speichert. Das „n“ führt den Zeilenumbruch aus, während die Ausgabe auf der Konsole ausgegeben wird.
let size = 4; let result = "";
Abschluss
Das Ausführen komplexer Aufgaben wie das Iterieren und Anzeigen mehrdimensionaler Datenstrukturen erfordert häufig die Verwendung verschachtelter Schleifen. Bisher haben wir eine verschachtelte Schleife eines Basisprogramms untersucht, um eine Grundlage für ein grundlegendes Verständnis zu schaffen. Wir haben die Iterationsschritte für eine Basisschleife und die verschachtelte Schleife aufgeschlüsselt. Für mehr Übung schlage ich vor, verschiedene Variationen dieses Programms zu schreiben, z. B. dem Benutzer die Möglichkeit zu geben, Größe und Zeichen für das Muster einzugeben, ein Rechteckmuster zu erstellen oder dasselbe Programm mit einer anderen Methode zu implementieren.
console.log(“Danke fürs Lesen”);
Das obige ist der detaillierte Inhalt vonWie ich versucht habe, das Innere einer verschachtelten For-Schleife in JavaScript zu verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.
