Philip: Funktion beenden

Hallo, Forum...

Ich stehe vor einem Problem: Ich habe in JavaScript zwei Funktionen programmiert. Die eine Funktion wird von der anderen aufgerufen. Nun möchte ich, dass die aufgerufene Funktion die andere beendet. Ist das möglich?

Beispiel:

function a() {
  // irgendwas, was b beendet...
}

function b() {
  a();
  alert("Hallo");
}

Nun möchte ich, dass Funktion a Funktion b beendet, ohne dass diese noch das alert ausgeben kann...

Kann mir da jemand helfen?

Danke,
Philip

  1. Hallo, Forum...

    Ich stehe vor einem Problem: Ich habe in JavaScript zwei Funktionen programmiert. Die eine Funktion wird von der anderen aufgerufen. Nun möchte ich, dass die aufgerufene Funktion die andere beendet. Ist das möglich?

    Soweit ich weiß - nein.

    Aber: Du könntest ja deiner aufgerufenen Funktion nen Wert zurück geben lassen und dadurch ne if-schleife bedienen.

    Somit kannst du eigentlich dasselbe bewirken.

    tom

    1. Na gut. Dachte nur, dass es vielleicht nen Befehl geben könnte... Na ja. Dann lass ich mir was einfallen.

      Danke für die schnelle Hilfe.

      Philip

  2. Hallo Philip...

    Beispiel:

    function a() {
      // irgendwas, was b beendet...
      alert("func a");
      i=1;
      return i;
    }

    function b() {
      a();
      if(i!=1) {
      alert("func b");
      }
    }

    sicher nicht die eleganteste Lösung, aber es funktioniert.

    Gruß Gunther

  3. Hi!

    Wie wärs, wenn du statt a(); einfach den return-Befehl benutzt? ;-)
    Oder ist das so gemeint dass a die Funktion b beenden soll?

    cu

    Marc Reichelt || http://www.marcreichelt.de/

    --
    tel.: 0049/6181/72224
    Linux is like a wigmam - no windows, no gates and an Apache inside!!!
  4. hi,

    function b() {
      a();
      alert("Hallo");
    }

    function a()
    {
    var beende_b = true;

    if(beende_b)
    return true;
    }

    function b()
    {
    var beenden = a(); // wenn a() true zurückt gibt,
    if(beenden) return; // wird b() mit return beendet
    alert("Hallo"); // alles was nach return kommt, wird dann nicht mehr ausgeführt
    }