Raffael: unerklärbares Verhalten von JavaScript

Hallo zusammnen

Ich habe folgende Funktion in einer externen Datei, die von einer HTML-Datei aus aufgerufen wird:

function schreiben(abstandhalter) {
 alert (AnzahlMenu);
 if (AnzahlMenu = 'x') {
  alert ('Test1');
 }
 else {
  alert ('Test2');
 }
}

Es handelt sich nur um eine Testfunktion! Die erste MsgBox die erscheint hat den Wert 5. Die zweite den Text Test1. Meiner Ansicht nach müsste diese aber den Text Test2 zurückgeben.
Was läuft hier falsch?

Gruss Raffael

  1. Hallo Raffael,

    if (AnzahlMenu = 'x') {

    Es muss heißen:
    if (AnzahlMenu == 'x') {

    Grüße
    Andreas

    1. Vielen Dank Andreas. Manchmal sehe ich vor lauter Bäumen den Wald nicht mehr.

      Jetzt hab ich aber gleich eine weiterführende Frage, die zu meinem Hauptproblem führt.

      Die gleiche Stelle nocheinmal, aber nicht mehr die Testfunktion sonder eine for-Schleife:

      function schreiben(abstandhalter) {
       alert (AnzahlMenu);
       for (MenuNr=0; MenuNr>AnzahlMenu; ++MenuNr) {
        alert ('test');

      alert(AnzalhMenu); wird am Browser korrekt ausgegeben (Wert '5'). Aber die zweite Meldung wird nicht ausgegeben. Ich schliesse daraus, dass die for-Schleife nicht interpretiert wird. Aber weshalb, wenn doch AnzahlMenu eindeutig 5 ist?

      Gruss Raffael

      1. Hallo Raffael,

        for (MenuNr=0; MenuNr>AnzahlMenu; ++MenuNr) {
          alert ('test');

        Die Schleife wird solange durchlaufen bis MenuNr nicht mehr größer als AnzahlMenu ist. Da AnzahlMenu =  5 ist, ist das nie der Fall.

        Grüße
        Andreas

        1. Hoi Andreas

          Danke zum zweiten. Jetzt funktioniert alles wieder.

          Dummerweise ist mir während ich die Script-Datei verschob der Computer abgestürzt. Danach lief nicht's mehr. So wie es aussieht, hat sich dabei das >-Zeichen gedreht. Vorher hat nämlich alles bestens funktioniert.

          Nochmal: Vielen Dank, war schon fast am verzweifeln.

          Gruss aus der Schweiz.

          Raffael

      2. Hi,

        Frage: Hast du das '}' am Ende der for-Schleife oder der Funktion vergessen?

        MfG
        Rouven

        --

        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
        1. siehe anderen Beitrag, sorry, das hier war eher nicht sinnvoll...

          MfG
          Rouven

          --

          -------------------
          ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(