Do-While-Schleife
Es gibt Situationen, in denen eine Aktion in einer Schleife mindestens einmal ausgeführt werden muss, bevor die Bedingung überprüft wird.
Angenommen, Sie müssen einen Benutzer für ein Abonnement Ihres kostenpflichtigen Dienstes belasten. Sie müssen das Geld mindestens einmal abbuchen und dann prüfen, für wie viele Monate der Benutzer abonniert hat. Hier kann eine do-while-Schleife hilfreich sein, zum Beispiel:
12345678910let number_of_months: number = 3; let money: number = 920; const price: number = 105; let number_of_charges = 0; do { money = money - price; number_of_charges++; } while (number_of_months != number_of_charges) console.log(`You have ${money} left after subscribing to our service.`)
Gehen wir den obigen Code durch und klären, was jede Zeile bedeutet.
number_of_monthsist die Anzahl der Monate, für die der Benutzer unseren Dienst abonniert;moneyist der Geldbetrag auf dem Konto des Benutzers;priceist der Preis für einen Monat Abonnement;number_of_chargesist die Variable, die wir mit unserer Schleife zählen. Sie steht für die Anzahl der Abbuchungen vom Konto des Benutzers.
In der Schleife wird mindestens einmal Geld vom Konto des Benutzers abgebucht, und danach wird die Bedingung number_of_months > number_of_charges überprüft.
Daraus lassen sich einige Schlussfolgerungen ziehen:
do-whileführt zuerst die Aktion aus und prüft dann die Bedingung;whileprüft zuerst die Bedingung und führt dann die Aktion aus.
Vielleicht ist Ihnen im obigen Code auch eine neue Syntax aufgefallen. Lassen Sie uns kurz erläutern, was sie bedeutet.
constwird verwendet, um eine Konstante zu deklarieren. Eine Konstante ist eine Variable, deren Wert nicht geändert werden kann, außer durch erneute Zuweisung;number_of_charges++--++ist der Inkrementoperator. Einfach ausgedrückt, bewirktnumber_of_charges++dasselbe wie
number_of_charges = number_of_changes + 1;. Der Inkrementoperator erhöht eine Variable um1. Es gibt auch den Dekrementoperator--, der1von einer Variable abzieht. Ja, so einfach ist das; es gibt nichts zu befürchten.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain how the do-while loop works in this example?
What would happen if the user subscribed for 0 months?
Can you show the difference between a do-while and a while loop with this scenario?
Awesome!
Completion rate improved to 2.94
Do-While-Schleife
Swipe um das Menü anzuzeigen
Es gibt Situationen, in denen eine Aktion in einer Schleife mindestens einmal ausgeführt werden muss, bevor die Bedingung überprüft wird.
Angenommen, Sie müssen einen Benutzer für ein Abonnement Ihres kostenpflichtigen Dienstes belasten. Sie müssen das Geld mindestens einmal abbuchen und dann prüfen, für wie viele Monate der Benutzer abonniert hat. Hier kann eine do-while-Schleife hilfreich sein, zum Beispiel:
12345678910let number_of_months: number = 3; let money: number = 920; const price: number = 105; let number_of_charges = 0; do { money = money - price; number_of_charges++; } while (number_of_months != number_of_charges) console.log(`You have ${money} left after subscribing to our service.`)
Gehen wir den obigen Code durch und klären, was jede Zeile bedeutet.
number_of_monthsist die Anzahl der Monate, für die der Benutzer unseren Dienst abonniert;moneyist der Geldbetrag auf dem Konto des Benutzers;priceist der Preis für einen Monat Abonnement;number_of_chargesist die Variable, die wir mit unserer Schleife zählen. Sie steht für die Anzahl der Abbuchungen vom Konto des Benutzers.
In der Schleife wird mindestens einmal Geld vom Konto des Benutzers abgebucht, und danach wird die Bedingung number_of_months > number_of_charges überprüft.
Daraus lassen sich einige Schlussfolgerungen ziehen:
do-whileführt zuerst die Aktion aus und prüft dann die Bedingung;whileprüft zuerst die Bedingung und führt dann die Aktion aus.
Vielleicht ist Ihnen im obigen Code auch eine neue Syntax aufgefallen. Lassen Sie uns kurz erläutern, was sie bedeutet.
constwird verwendet, um eine Konstante zu deklarieren. Eine Konstante ist eine Variable, deren Wert nicht geändert werden kann, außer durch erneute Zuweisung;number_of_charges++--++ist der Inkrementoperator. Einfach ausgedrückt, bewirktnumber_of_charges++dasselbe wie
number_of_charges = number_of_changes + 1;. Der Inkrementoperator erhöht eine Variable um1. Es gibt auch den Dekrementoperator--, der1von einer Variable abzieht. Ja, so einfach ist das; es gibt nichts zu befürchten.
Danke für Ihr Feedback!