TypeScript-Schleifen

Manchmal müssen wir denselben Codeblock mehrmals ausführen. Im Allgemeinen werden Anweisungen sequenziell ausgeführt: Die erste Anweisung in einer Funktion wird zuerst ausgeführt, gefolgt von der zweiten und so weiter.

Programmiersprachen bieten verschiedene Kontrollstrukturen, die komplexere Ausführungspfade ermöglichen.

Schleifenanweisungen ermöglichen es uns, eine Anweisung oder eine Gruppe von Anweisungen mehrmals auszuführen. Unten sehen Sie ein Flussdiagramm von Schleifenanweisungen in den meisten Programmiersprachen:

循环结构


for-Schleife

Die TypeScript-for-Schleife wird verwendet, um eine Folge von Anweisungen mehrmals auszuführen, wodurch der Code, der Schleifenvariablen verwaltet, vereinfacht wird.

Syntax

Das Syntaxformat lautet wie folgt:

for ( init; condition; increment ){
    statement(s);
}

Das Folgende ist eine Analyse des Kontrollflusses der for-Schleife:

  1. initEs wird zuerst und nur einmal ausgeführt. Dieser Schritt ermöglicht es Ihnen, beliebige Schleifensteuerungsvariablen zu deklarieren und zu initialisieren. Sie können diesen Teil auch leer lassen, solange ein Semikolon erscheint.
  2. Als Nächstes wirdconditionausgewertet. Wenn sie wahr ist, wird der Schleifenkörper ausgeführt. Wenn sie falsch ist, wird der Schleifenkörper nicht ausgeführt, und der Kontrollfluss springt zur nächsten Anweisung, die unmittelbar auf die for-Schleife folgt.
  3. Nachdem der for-Schleifenkörper ausgeführt wurde, springt der Kontrollfluss zurück zur obigenincrement-Anweisung. Diese Anweisung ermöglicht es Ihnen, die Schleifensteuerungsvariable zu aktualisieren. Diese Anweisung kann leer gelassen werden, solange nach der Bedingung ein Semikolon erscheint.
  4. Die Bedingung wird erneut ausgewertet. Wenn sie wahr ist, wird die Schleife ausgeführt, und dieser Vorgang wiederholt sich kontinuierlich (Schleifenkörper, dann Inkrementierung des Schrittwerts, dann erneute Auswertung der Bedingung). Wenn die Bedingung falsch wird, wird die for-Schleife beendet.

Hier kann/können Anweisung(en) eine einzelne Anweisung oder ein Block von Anweisungen sein.

condition kann ein beliebiger Ausdruck sein. Wenn die Bedingung wahr ist, wird die Schleife ausgeführt; wenn die Bedingung falsch ist, wird die Schleife beendet.

Flussdiagramm

Perl 中的 for 循环

Beispiel

Das folgende Beispiel berechnet die Fakultät von 5. Die for-Schleife erzeugt Zahlen von 5 bis hinunter zu 1 und berechnet das Produkt der Zahlen in jeder Schleifeniteration.

TypeScript

var num:number = 5; var i:number; var factorial = 1; for(i = num;i>=1;i--) { factorial *= i; } console.log(factorial)

Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:

JavaScript

var num = 5; var i; var factorial = 1; for (i = num; i >= 1; i--) { factorial *= i; } console.log(factorial);

Das Ausführen des obigen JavaScript-Codes erzeugt das folgende Ausgabeergebnis:

120

for...in-Schleife

Die for...in-Anweisung wird verwendet, um über eine Sammlung oder Liste von Werten für die Ausgabe zu iterieren.

Syntax

Das Syntaxformat lautet wie folgt:

for (var val in list) { 
    //语句 
}
val muss vom Typ string oder any sein.

Beispiel

TypeScript

var j:any; var n:any = "a b c" for(j in n) { console.log(n[j]) }

Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:

JavaScript

var j; var n = "a b c"; for (j in n) { console.log(n[j]); }

Das Ausführen des obigen JavaScript-Codes erzeugt das folgende Ausgabeergebnis:

a

b

c

for…of-, forEach-, every- und some-Schleifen

Darüber hinaus unterstützt TypeScript auch for…of-, forEach-, every- und some-Schleifen.

Die for...of-Anweisung erstellt eine Schleife, um über iterierbare Objekte zu iterieren. Die in ES6 eingeführte for...of-Schleife ersetzt for...in und forEach() und unterstützt das neue Iterationsprotokoll. for...of ermöglicht es Ihnen, iterierbare Datenstrukturen wie Arrays, Strings, Maps, Sets usw. zu durchlaufen.

TypeScript for...of-Schleife

let someArray = [1, "string", false]; for (let entry of someArray) { console.log(entry); // 1, "string", false }

forEach, every und some sind JavaScript-Schleifensyntax. Da TypeScript eine syntaktische Obermenge von JavaScript ist, unterstützt es sie von Natur aus standardmäßig.

Da forEach während der Iteration nicht zurückgeben kann, können Sie every und some verwenden, um forEach zu ersetzen.

TypeScript forEach-Schleife

let list = [4, 5, 6]; list.forEach((val, idx, array) => { //val: aktueller Wert //idx: aktueller Index // array: Array });

TypeScript every-Schleife

let list = [4, 5, 6]; list.every((val, idx, array) => { //val: aktueller Wert //idx: aktueller Index // array: Array return true; // Wird fortgesetzt // Die Rückgabe von false beendet die Iteration });

while-Schleife

Die while-Anweisung führt wiederholt eine Anweisung oder eine Gruppe von Anweisungen aus, solange die angegebene Bedingung wahr ist. Die Bedingung wird geprüft, bevor der Schleifenkörper ausgeführt wird.

Syntax

Das Syntaxformat lautet wie folgt:

while(condition)
{
   statement(s);
}

Hier kann/können Anweisung(en) eine einzelne Anweisung oder ein Block von Anweisungen sein.

Die Bedingung kann ein beliebiger Ausdruck sein. Wenn die Bedingung true ist, wird die Schleife ausgeführt. Wenn die Bedingung false ist, verlässt der Programmfluss die Schleife.

Flussdiagramm

Im Diagramm,whileDer entscheidende Punkt der Schleife ist, dass sie möglicherweise nicht einmal ausgeführt wird. Wenn die Bedingung false ist, wird der Schleifenkörper übersprungen, und die nächste Anweisung unmittelbar nach der while-Schleife wird direkt ausgeführt.

Beispiel

TypeScript

var num:number = 5; var factorial:number = 1; while(num >=1) { factorial = factorial * num; num--; } console.log("Die Fakultät von 5 ist:"+factorial);

Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:

JavaScript

var num = 5; var factorial = 1; while (num >= 1) { factorial = factorial * num; num--; } console.log("Die Fakultät von 5 ist:" + factorial);

Das Ausführen des obigen JavaScript-Codes erzeugt das folgende Ausgabeergebnis:

5 的阶乘为:120

do...while-Schleife

Anders alsfor- undwhile-Schleifen, die die Schleifenbedingung am Kopf der Schleife testen.do...whileDie Schleife überprüft ihre Bedingung am Ende der Schleife.

Syntax

Das Syntaxformat lautet wie folgt:

do
{
   statement(s);
}while( condition );

Bitte beachten Sie, dass der Bedingungsausdruck am Ende der Schleife erscheint, sodass die Anweisung(en) in der Schleife mindestens einmal ausgeführt werden, bevor die Bedingung geprüft wird.

Wenn die Bedingung wahr ist, springt der Kontrollfluss zum oben stehenden do zurück, und die Anweisung(en) in der Schleife werden erneut ausgeführt. Dieser Vorgang wiederholt sich kontinuierlich, bis die gegebene Bedingung falsch wird.

Flussdiagramm

Perl 中的 do...while 循环

Beispiel

TypeScript

var n:number = 10; do { console.log(n); n--; } while(n>=0);

Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:

JavaScript

var num = 5; var n = 10; do { console.log(n); n--; } while (n >= 0);

Das Ausführen des obigen JavaScript-Codes erzeugt das folgende Ausgabeergebnis:

10
9
8
7
6
5
4
3
2
1
0

break-Anweisung

breakDie break-Anweisung hat die folgenden zwei Verwendungszwecke:

  1. WennbreakWenn die break-Anweisung innerhalb einer Schleife auftritt, wird die Schleife sofort beendet, und der Programmfluss fährt mit der Ausführung der nächsten Anweisung unmittelbar nach der Schleife fort.
  2. Sie kann verwendet werden, umswitch zu beenden,einen case in der switch-Anweisung.

Wenn Sie verschachtelte Schleifen verwenden (d. h. eine Schleife innerhalb einer anderen), beendet die break-Anweisung die Ausführung der innersten Schleife und beginnt dann mit der Ausführung der nächsten Codezeile nach dem Block.

Syntax

Das Syntaxformat lautet wie folgt:

break;

Flussdiagramm

Beispiel

TypeScript

var i:number = 1 while(i<=10) { if (i % 5 == 0) { console.log ("Die erste durch 5 teilbare Zahl zwischen 1 und 10 ist:"+i) break //Verlassen Sie die Schleife, nachdem Sie eine gefunden haben } i++ } //Geben Sie 5 aus, und dann endet die Programmausführung

Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:

JavaScript

var i = 1; while (i <= 10) { if (i % 5 == 0) { console.log("Die erste durch 5 teilbare Zahl zwischen 1 und 10 ist:" + i); break; //Verlassen Sie die Schleife, nachdem Sie eine gefunden haben } i++; } //Geben Sie 5 aus, und dann endet die Programmausführung

Das Ausführen des obigen JavaScript-Codes erzeugt das folgende Ausgabeergebnis:

在 1~10 之间第一个被 5 整除的数为 : 5

continue-Anweisung

continueDie continue-Anweisung ist gewissermaßen wiebreakdie break-Anweisung. Aber sie ist keine erzwungene Beendigung; continue überspringt den Code in der aktuellen Schleife und erzwingt den Beginn der nächsten Iteration.

BeiforSchleifen,continuenachdem die continue-Anweisung ausgeführt wurde, wird die Inkrement-Anweisung weiterhin ausgeführt. Beiwhileund beido...whileSchleifen,continueführt die continue-Anweisung die Anweisung zur Bedingungsauswertung erneut aus.

Syntax

Das Syntaxformat lautet wie folgt:

continue;

Flussdiagramm

C continue 语句

Beispiel

TypeScript

var num:number = 0 var count:number = 0; for(num=0;num<=20;num++) { if (num % 2==0) { continue } count++ } console.log ("Die Anzahl der ungeraden Zahlen zwischen 0 und 20 ist:"+count) //10 gerade Zahlen ausgeben

Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:

JavaScript

var num = 0; var count = 0; for (num = 0; num <= 20; num++) { if (num % 2 == 0) { continue; } count++; } console.log("Die Anzahl der ungeraden Zahlen zwischen 0 und 20 ist:" + count); //10 ausgeben

Führen Sie den obigen JavaScript-Code aus, das Ausgabeergebnis ist:

0 ~20 之间的奇数个数为: 10

Endlosschleife

Eine Endlosschleife ist eine Schleife, die immer weiterläuft und nie stoppt. Sowohl for- als auch while-Schleifen können Endlosschleifen erzeugen.

Syntax zum Erstellen einer Endlosschleife mit for:

for(;;) { 
   // 语句
}

Beispiel

for(;;) { 
   console.log("这段代码会不停的执行") 
}

Syntax zum Erstellen einer Endlosschleife mit while:

while(true) { 
   // 语句
} 

Beispiel

while(true) { 
   console.log("这段代码会不停的执行") 
}
Andere Erweiterungen