Javascript zu oberer Zeile springen?
Hey, ich habe ungefähr folgendes Script:
async function xy
*hier steht Script*
Blabla = watch
If watch = undefined
Problem123
Und zwar möchte ich, dass bei Problem123 wieder zum Start der function xy gesprungen wird. Wie geht das?
2 Antworten
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.
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 ... */)
https://pastebin.com/7ixNCz8s kannst du mir das daran erklären? Ist in Zeile 37
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.
}
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.