einen direkten Einfluss auf das Ergebnis der Ausführungsreihenfolge jedes Codes. Oftmals müssen wir die Ausführungsreihenfolge des Codes steuern, um die Funktionen zu erreichen, die wir ausführen
möchten : Flusskontrolle soll uns kontrollieren, in welcher Reihenfolge der geschriebene Code ausgeführt werden soll, um unseren Zweck zu erreichen.
In der Prozesssteuerung gibt es drei Hauptstrukturen: sequentielle Struktur, Verzweigungsstruktur und Schleifenstruktur. Diese drei Strukturen stellen die Reihenfolge der Codeausführung dar.
Die sequentielle Struktur ist die einfachste und grundlegendste Prozesssteuerung im Programm. Die Codes, die wir zuvor geschrieben haben, gehören zur sequentiellen Struktur (das heißt, sie werden von oben nach unten ausgeführt). Reihenfolge des Codes:
. Bei der Ausführung des Codes von oben nach unten werden verschiedene Pfadcodes gemäß unterschiedlichen Bedingungen ausgeführt (der Prozess der Auswahl eines von mehreren Ausführungscodes), wodurch erhalten wird
1.21 Die js-Sprache bietet zwei Verzweigungsstrukturen. Anweisung
if
Code ausführen, wenn die Bedingung wahr ist, andernfalls nichts tun,
wenn (bedingter Ausdruck) {
//Codesprache für die Ausführung, wenn die Bedingung erfüllt ist.
}
Eine Anweisung kann als Verhalten verstanden werden. Ein Programm besteht unter normalen Umständen aus vielen Anweisungen , wird es nacheinander in
die Demonstration des
Anweisungscodes unterteiltvar age=19; if(age>=18){ console.log('Du bist ein Erwachsener'); //Geben Sie aus, dass Sie bereits erwachsen sind, da Alter=19; wenn es größer als 18 ist, wird die Anweisung im if ausgeführt.} var Alter=1; if(age>=18){ console.log('Du bist ein Erwachsener'); //Nichts ausgeben. age=1;<18, die Anweisung in if wird nicht ausgeführt, daher gibt es keinen }
-Ausführungsprozess
Syntaxstruktur
//Wenn die Bedingung erfüllt ist, führen Sie den Code in if aus, andernfalls führen Sie den Code in else
if (bedingter Ausdruck) aus {
//Auszuführender Code, der die Bedingungen erfüllt
}else{
//Code, der die Bedingungen für die Ausführung nicht erfüllt
}
Ausführungsprozess
Code-Demonstration
var age=prompt('Bitte geben Sie Ihr Alter ein');//Benutzereingabe if(age>=18){ console.log('Du kannst jetzt trinken'); }anders{ console.log('Leider können Minderjährige nur AD-Kalzium trinken.'); } //Beurteilen Sie, ob das Jahr ein Laufjahr ist var year=prompt('Bitte geben Sie das Jahr ein:'); if(year%4==0&&year%100!=0||year%400==0){ Alert('Das von Ihnen eingegebene Jahr ist ein Schaltjahr'); }anders{ Alert('Das Jahr, das Sie eingegeben haben, ist ein gewöhnliches Jahr'); }
Syntaxstruktur
// Geeignet zum Überprüfen mehrerer Bedingungen
if (bedingter Ausdruck) {
Anweisung 1;
}else if(bedingter Ausdruck){
Anweisung 2;
}else if(bedingter Ausdruck){
Aussage 3;
…
}else{
//Diesen Code ausführen, wenn die oben genannten Bedingungen nicht erfüllt sind
}
Prozesssteuerung
Code-Demonstration
//Mini-Rechner: Geben Sie zwei Zahlen und Operationssymbole ein, um das entsprechende zu erhalten var yi = +prompt('Bitte geben Sie die erste Zahl ein'); //Bitte verwenden Sie Addition, Subtraktion, Multiplikation und Division, um implizit in einen numerischen Typ zu konvertieren, oder verwenden Sie praseInt (Variable) oder parsefloat (Variable) ganze Zahlen und Gleitkommazahlen var fuhao = prompt( 'Bitte Operator eingeben'); var er = +prompt('Bitte geben Sie die zweite Zahl ein'); if (fuhao == '+') { var shu = yi + er; } else if (fuhao == '-') { var shu = yi – äh; } else if (fuhao == '/') { var shu = yi / er; } else if (fuhao == '*') { var shu = yi * er; } else if (fuhao == '%') { var shu = yi % er; } anders { Alert('Bitte geben Sie nach Bedarf ein:'); } warning(shu);
wird
verwendet, um verschiedene Codes basierend auf unterschiedlichen Bedingungen auszuführen.
Ausdruck) {
case value1:
//Der Code, der ausgeführt werden soll, wenn der Ausdruck gleich value1
break ist;
case value2:
//Der Code, der ausgeführt werden soll, wenn der Ausdruck gleich value2
break ist.
default:
//Der Code, der ausgeführt werden soll, wenn der Ausdruck ist keinem Wert gleich
}
Prozesssteuerung
Code-Demonstration
var Fruit =prompt('Bitte geben Sie die Frucht ein, die Sie kaufen möchten:'); switch(Frucht){ Fall 'Apfel': Alert('Der Preis für Äpfel beträgt: 3,5/Katze'); brechen; Fall 'Litschi': Alert('Der Preis für Litschis beträgt: 10,5/Jin'); brechen; Standard: alarm('Keine Frucht'); }
Beachten Sie
Der Unterschied zwischen der Switch-Anweisung und der If-Anweisung
normalerweise
ineinander umgewandelt werden
Die Situation, in der der Fall ein Vergleich ist, um den Wert zu bestimmen, während die if...else...-Anweisung flexibler ist und häufig zur Bereichsbeurteilung verwendet wird (größer als, gleich einem bestimmten Bereich).
Die Switch-Anweisung führt eine bedingte Beurteilung durch Führt die bedingte Anweisung des Programms direkt aus, was jedoch effizienter ist, wenn if...else...Anweisungen mehrere Bedingungen haben und mehrmals beurteilt werden müssen.
Wenn weniger Verzweigungen vorhanden sind, ist die Ausführungseffizienz der if...else...-Anweisung höher als die der Switch-Anweisung.
Wenn viele Verzweigungen vorhanden sind, ist die Ausführungseffizienz der Switch-Anweisung höher und die Struktur klarer
darin
es bei praktischen Problemen viele Regelmäßigkeiten gibt. Um solche Operationen im Programm auszuführen, müssen Sie
drei Haupttypen
ausführenSchleifenanweisungen:
im Programm, eine Gruppe von Anweisungen, die wiederholt ausgeführt werden, wird als Schleifenkörper bezeichnet. Ob sie weiterhin wiederholt ausgeführt werden kann
Die aus dem Schleifenkörper und der Schleifenbeendigungsbedingung bestehende Anweisung wird als Schleifenanweisung bezeichnet.
Die
Syntaxstruktur
der for-Schleife wird hauptsächlich zum mehrmaligen Wiederholen bestimmter Codes verwendet, normalerweise im Zusammenhang mit dem Zählen. Die Anweisungsstruktur ist wie folgt
für (Initialisierungsvariable; bedingter Ausdruck; Operationsausdruck) {
//Schleifenkörper
}
Prozesssteuerung
Codedemonstration
für (var i=1;i<=10;i++){ console.log('Magst du mich?'); }//Berechnen Sie die Gesamtpunktzahl der Klasse und die Durchschnittspunktzahl var num = prompt('Bitte geben Sie die Gesamtzahl der Personen in der Klasse ein') var sum = 0, Durchschnitt = 0; for (var i = 1; i <= num; i++) { var score = prompt('Bitte geben Sie die Punktzahl des ' + i + ' Schülers ein.') //Die von der Eingabeaufforderung entnommenen Daten sind eine Zeichenfolge und müssen in eine Zahl umgewandelt werden sum += parseInt(score); } Durchschnitt = Summe / Zahl; Alert('Gesamtpunktzahl der Klasse:' + Summe); Alert('Durchschnittspunktzahl der Klasse:' + Summe);//Drucke 5 Herzen in einer Zeile für (var i=0;i<=4;i++){ console.log('*'); }
Doppelschichtige for-Schleife (Schleifenverschachtelung)
Schleifenverschachtelung bezieht sich auf die grammatikalische Struktur der Definition einer Schleifenanweisung innerhalb einer Schleifenanweisung. Wir nennen eine solche for-Schleifenanweisung beispielsweise Doppelschicht-for Schleife
Wir nennen die innere Schleife die innere Schleife und die äußere Schleife die äußere Schleife. Die äußere
Schleife wird einmal durchlaufen und die innere Schleife wird von Anfang bis Ende ausgeführt.
Codedemonstration
: 5 Zeilen und 5 Spalten var str =''; für (var i=0;i<=4;i++){ für (var j=0;j<=4;j++){ str+='*'; } str+='n'; } console.log(str); //Erweitert: n Zeilen und n Spalten var rows = prompt('Bitte geben Sie die Anzahl der Zeilen ein:'); var cols = prompt('Bitte geben Sie die Anzahl der Spalten ein'); var str=''; for (var i = 1; i <= rows; i++) { for (var j = 1; j <= cols; j++) { str+='*'; } str+='n'; } console.log(str); //Umgekehrtes Dreieck drucken var str=''; für (var i=1;i<=10;i++){ für (var j=i;j<=10;j++){ str+='*'; } str+='n'; } console.log(str); /* 1 ********** 10 2 *********9 3 ********8 4 *******7 5******6 6*****5 7****4 8***3 9**2 10 *1 *///Kernalgorithmus: var j=i;j<=10;j++//Idee: Analysieren Sie zunächst die Ergebnisse und beobachten Sie die Beziehung zwischen Zeilen und Spalten. Bestimmen Sie dann den Algorithmus der inneren Schleife // drucken Sie ein gleichseitiges Dreieck, die gleiche Idee wie oben. var str=''; für (var i=1;i<=9;i++){ für (var j=1;j<=i;j++){ str+='*'; } str+='n'; } console.log(str);//Um die Multiplikationstabelle zu drucken, ersetzen Sie das Sternchen des gleichseitigen Dreiecks durch die Gleichung var str = ''; für (var i = 1; i <= 9; i++) { für (var j = 1; j <= i; j++) { /* str+='*'; str += i + '*' + i + '=' + i * j + ' t'; } str += 'n'; } console.log(str);//Denken Sie daran: Die äußere Schleife wird einmal durchlaufen und die innere Schleife wird von Anfang bis Ende ausgeführt. Sie gibt nur die Essenz der
for-Schleife aus,
while-Schleife
Die while-Anweisung kann einen angegebenen Codeabschnitt in einer Schleife ausführen, sofern der bedingte Ausdruck wahr ist Wenn die Bedingung nicht erfüllt ist, endet die Schleife
.Die Syntaxstruktur der while-Anweisung
while (bedingter Ausdruck) {
//Schleifenkörperanweisung;
}
Ausführungsidee:
Führen Sie zuerst den bedingten Ausdruck aus. Wenn die Bedingung wahr ist, führen Sie dann den Schleifenkörpercode aus. Andernfalls verlassen Sie die Schleife und führen Sie den folgenden Code aus,
um den Schleifenkörpercode
auszuführen Wenn der Code ausgeführt wird, wird das Programm den bedingten Ausdruck weiter beurteilen und ausführen. Wenn die Bedingung immer noch wahr ist, wird der gesamte Schleifenkörperprozess nicht beendet, bis die Schleifenbedingung falsch
ist wie folgt
Codedemonstration
var num=1; //Variablen initialisieren while(num<=10){//Bedingter Ausdruck console.log('Hello world'); num++;//Operationsausdruck }
Hinweis:
Es gibt auch einen Operationsausdruck in while, um die Aktualisierung des Zählers abzuschließen und eine Endlosschleife zu verhindern (ich habe keinen Operationsausdruck hinzugefügt, aber als ich den Code ausführte, war die Google Chrome-Schnittstelle vorhanden (schwarz).
Es sollten auch Zählerinitialisierungsvariablen enthalten sein.
Die while-Schleife kann bis zu einem gewissen Grad der for-Schleife entsprechen. Sie müssen nur die initialisierten Variablen, bedingten Ausdrücke und Operationsausdrücke in die for-Schleife einfügen .
Codedemonstration
//Das Leben einer Person im Alter von 1 Jahr bis 120 Jahren drucken var age = 1; while (Alter <= 120) { console.log('Diese Person ist dieses Jahr' + Alter + 'Jahre alt'); Alter++; } //2. Berechnen Sie die Summe aller ganzen Zahlen zwischen 1 und 100 var sum = 0, ich = 1; while (i <= 100) { Summe += i; i++; } console.log(sum); //3. Öffnen Sie ein Dialogfeld: „Liebst du mich?“ Wenn du „Ich liebe dich“ eingibst, wird das Ende angezeigt. while(message!=='Ich liebe dich'){ message=prompt('Liebst du mich?'); } Alert('Ich liebe dich auch');
do...
while-Anweisung ist eigentlich eine Variante der while-Anweisung. Diese Schleife führt den Codeblock zunächst einmal aus und beurteilt dann den bedingten Ausdruck ist true , der Schleifenkörper wird wiederholt ausgeführt, andernfalls wird die Schleife verlassen
do... Die Syntaxstruktur der while-Anweisung ist wie folgt
do {
//Schleifenkörpercode – Wiederholen Sie den Schleifenkörpercode, wenn der bedingte Ausdruck wahr ist.
}
Ausführungsidee:
Führen Sie den Schleifenkörpercode einmal aus
und führen Sie dann den bedingten Ausdruck aus. Wenn das Ergebnis wahr ist, führen Sie den Schleifenkörpercode weiter aus ist falsch, dann Verlassen Sie die Schleife und fahren Sie mit der Ausführung des folgenden Codes fort.
Hinweis: Führen Sie zuerst die Schleifenkörperanweisung aus und beurteilen Sie dann, dass die do...while-Schleifenanweisung den Schleifenkörper mindestens einmal ausführt.
Prozesskontrolle
Codedemonstration
//Das Leben einer Person im Alter von 1 bis 120 Jahren ausdrucken var age = 1; Tun { console.log('Diese Person ist dieses Jahr' + Alter + 'Jahre alt'); Alter++; } while (Alter <= 120); //2. Berechnen Sie die Summe aller ganzen Zahlen zwischen 1 und 100 var sum = 0, ich = 1; Tun { Summe += i; i++; } while (i <= 100) console.log(sum); //3. Öffne ein Dialogfeld, liebst du mich? Wenn du „Ich liebe dich“ eingibst, wird das Ende angezeigt. Tun { message = prompt('Liebst du mich?'); } while (message !== 'Ich liebe dich'); warning('Ich liebe dich auch');
Zusammenfassung der Schleifen
:ist nächste Schleife (der Code nach continue im Hauptteil dieser Schleife wird einmal weniger ausgeführt).
Beispiel: Wenn Sie 5 Brötchen essen und im dritten Brötchen Käfer sind, werfen Sie das dritte Brötchen weg und essen Sie das vierte und fünfte Brötchen weiter.
Codedemonstration
für (var i = 1; i <= 5; i++) {. if (i == 3) { weitermachen; } console.log('Ich habe das ' + i + 'te Brötchen gegessen'); } Ergebnis: //Ich habe das 1. Brötchen gegessen //Ich habe das 2. Brötchen gegessen //Ich habe das 4. Brötchen gegessen //Ich habe das 5. Brötchen gegessen
Schlüsselwort break
Das Schlüsselwort break wird verwendet, um sofort aus der gesamten Schleife zu springen (Ende des Zyklus)
Zum Beispiel: Nachdem ich fünf Brötchen gegessen hatte, entdeckte ich beim dritten einen Wurm und verlor den Appetit.
Codebeispiel
für (var i = 1; i <= 5; i++) { if (i == 3) { brechen; } console.log('Ich habe das ' + i + 'te Brötchen gegessen'); } Ergebnis; //Ich habe das 1. Dampfbrötchen gegessen //Ich habe die 2. Dampfbrötchen-
Bezeichner-Namenskonventionsvariablen
gegessen, der Funktionsname muss aussagekräftig sein, der Name der Variablen ist im Allgemeinen ein Substantiv, der Name der Funktion ist im Allgemeinenein einzeiliger Kommentar
für (var i = 1; i <= 5; i++) { if (i == 3) { continue; //Bitte beachten Sie, dass vor dem einzeiligen Kommentar ein Leerzeichen steht } console.log('Ich habe das ' + i + 'te Brötchen gegessen'); }
Operatorspezifikation
//Reservieren Sie ein Leerzeichen auf der linken und rechten Seite des Operators für (var i = 1; i <= 5; i++) { if (i == 3) { brechen; } console.log('Ich habe das ' + i + 'te Brötchen gegessen'); }