Javascript zu oberer Zeile springen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Bau eine Schleife ein.

Wenn du bereits im Voraus genau weißt, wie oft eine Wiederholung stattfinden soll, wäre eine for-Schleife gut geeignet. Andernfalls bspw. do-while:

async function xy() {
  do {
    /* ... */
  }
  while (/* some condition */);
}

Anhand der Bedingung im Schleifenfuß wird bestimmt, wie oft eine Wiederholung stattfinden soll.

Alex0386 
Fragesteller
 06.04.2021, 03:40

Problem ist, dass einige Teile, die in eine while Schleife müssten nicht in die Schleife dürfen. Das Programm besteht aus mehreren Teilen. Einem, der jedes mal ausgeführt werden soll, dahinter einer, der nur ausgeführt werden soll, wenn die Bedingung zutrifft und einer der nur ausgeführt werden soll, wenn die Bedingung nicht erfüllt ist. In der Reihenfolge muss es auch sein, da die Variable, die die Vorraussetzung ist, erst im ersten Teil definiert wird.

0
regex9  06.04.2021, 09:15
@Alex0386

Das passt mit der Schleife immer noch. Bau eine if-else-Verzweigung in die Schleife ein, um zu entscheiden, was ausgeführt werden soll oder nicht.

async function xy() {
  do {
    /* repeat in any case ... */

    if (/* some condition ... */) {
      // do something ...
    }
    else {
      // do something else ... */
    }
  }
  while (/* some condition */);
}

Wenn es Teile gibt, die beim ersten Mal auf jeden Fall ausgeführt werden sollen, lege am Anfang der Funktion noch eine Variable an, die initial false ist, aber nach dem ersten Durchlauf auf true gesetzt wird. In den Bedingungen kann sie als zusätzlicher Indikator dienen.

if (firstTime || /* some condition ... */)
1
regex9  06.04.2021, 21:42
@Alex0386

Um von Zeile 41 aus den nächsten Schleifenlauf zu triggern (also wieder in Zeile 4 zu springen), reicht der continue-Befehl.

1

Erstmal: Was regex9 sagt, ist schon richtig.

Du kannst das auch so programmieren:

while (true)
{
... Sachen, die immer ausgeführt werden...
if (watch != undefined)
{
... Sachen, die nur ausgeführt werden, wenn watch nicht den Wert "undefined" hat...
break;
}
... Sachen, die dur ausgeführt werden, wenn watch den Wert "undefined" hat.
}

Woher ich das weiß:Hobby – Hobby seit meiner Jugend