And3: exit() & die() in JavaScript?

Nach etwas Herumgehopse auf Stackoverflow und Konsorten....

Ich würde mein Skript gerne beenden, wenn eine Bedingung auf globaler Ebene eintritt.

Gibt es tatsächlich kein [PHP] exit() / die() Äquivalent für JavaScript?

Quasi ein return Statement für die globale Ebene.

Bin über Ideen gestolpert, einfach einen Fehler zu werfen - aber das überzeugt mich nicht ganz - zumal es sich in meinem Fall auch nicht um einen Fehler handelt, sondern das Skript einfach früher endet, wenn eine gewisse Bedingung erfüllt ist.

Bin auch immer wieder darüber gestoßen, das solle schlechtes Design sein - verstehe nicht, warum auf globaler Ebene gelten soll, was auf funktionaler Ebene nicht gilt. Meine App hat auch kein Komplexitätslevel wie z.B. Amazon.

Danke, And3

  1. Hallo And3,

    nein, eigentlich nicht. Es gibt andere Konstrukte, aber um davon eins vorzuschlagen, müsste man deinen Anwendungsfall genauer kennen. Magst Du uns den schildern?

    Ich hab nämlich gerade eine längere Antwort mit Varianten geschrieben und beim Absenden hat sich das Forum festgefressen - keine Ahnung wieso. Die schreib ich jetzt nicht nochmal und frage lieber nur noch nach dem Anwendungsfall 😕

    Rolf

    --
    sumpsi - posui - obstruxi
    • Falls der vorzeitige Abbruch in einer Schleife stattfinden soll sind continue und break Deine Freunde: https://www.w3schools.com/js/js_break.asp
    • Wenn eine Funktion doch bietet, was Du brauchst (return), dann pack Dein Zeug in eine Funktion.
    1. Hallo Raketenwilli,

      und wenn es hart auf hart kommt, kann man eine Exception in die Welt schmeißen und keinen try/catch programmieren. Aber angesichts der asynchronen Natur von JS kann einem dieser Wurf auch auf die Füße fallen.

      Deshalb wäre ich sehr am konkreten Usecase interessiert.

      Rolf

      --
      sumpsi - posui - obstruxi
      • Falls der vorzeitige Abbruch in einer Schleife stattfinden soll sind continue und break Deine Freunde: https://www.w3schools.com/js/js_break.asp
      • Wenn eine Funktion doch bietet, was Du brauchst (return), dann pack Dein Zeug in eine Funktion.

      Dann gibt es noch den Matrose mit der Flagge (a.k.a. Signalgast):

      var flagStop = false;
      tuDies;
      tuDas;
      if ( irgendwas ) {
           flagStop = true;
      }
      if ( ! flagStop ) {
         tuJenes;
         tuAnderes;
      }