Javascript Abfrage

stefanwue

Grünschnabel
Code:
Wenn x = 1 und y = 2 und z = 3
dann schreibe auf den Bildschirm
x = 1; y = 2; z = 3
ansonsten
wenn
x = 1 und y = 2
oder
z = 3
dann schreibe auf den Bildschirm
x = 1 und y = 2
oder
z = 3

habe keine Ahnung wie ich das machen soll mir einer Switch Anweisung. Kann mir da vieleicht jemand helfen oder einen Tip geben, Danke erstmal für eure Hilfe.
 
Hallo,

ich hoffe ich hab es richtig verstanden.

Das ganze ist ungetestet aus der Hüfte heraus.

Code:
switch (TRUE) {
    case x==1 && y==2 && z==3 :
       alert(x = 1; y = 2; z = 3);
        break;
    case x==1 && y==2:
    case z == 3:
       alert(x = 1 und y = 2);
        break;
    default:
       alert(z = 3);
        break;
}
 
Code:
var x=1;
    var y=2;
    var z=3;

    switch (True) {
        case (x==1 && y==2 && z==3):
            alert("x = 1; y = 2; z = 3");
            break;
           
        case (x == 1 && y == 2 || z == 3):
            alert('x = 1 und y = 2 \noder \nz = 3');
            break;
       
        case (x > 1 && y < 2 && z == 3):
            alert('x > 1; y < 2; z = 3');
            break;
       
        default:
            alert("Keine der Bindungen trifft zu!");
            break;
        }

habe es so gemacht aber bekomme keine Ausgabe, was mache ich falsch ?
 
Hab es gerade auch mal probiert und es geht wirklich nicht :)

Muss es wirklich ein Switch sein?`

Kann x < 1 bzw y > 2 sein?
 
So nochmal in Ruhe gebaut:
Code:
x = 1;
y = 2;
z = 3;
switch (true) {
  case (x == 1 && y == 2 && z == 3): alert("x = 1; y = 2; z = 3"); break;
  case ((x == 1 && y == 2) || z == 3): alert('x = 1 und y = 2 \noder \nz = 3'); break;
  case (x > 1 && y < 2 && z == 3): alert('x > 1; y < 2; z = 3'); break;
  default: alert("Keine der Bindungen trifft zu!");
}

So hast du aber das Problem, dass du niemals in den dritten Zweig kommst.

von daher müsstes du die Case-Statements tauschen:

Code:
x = 1;
y = 2;
z = 3;
switch (true) {
  case (x == 1 && y == 2 && z == 3): alert("x = 1; y = 2; z = 3"); break;
  case (x > 1 && y < 2 && z == 3): alert('x > 1; y < 2; z = 3'); break;
  case ((x == 1 && y == 2) || z == 3): alert('x = 1 und y = 2 \noder \nz = 3'); break;
  default: alert("Keine der Bindungen trifft zu!");
}
 

Neue Beiträge

Zurück