10 - Wenn-sonst wenn-dann mit JavaScript
Der Befehl ggbApplet.getValue("Variablenname_in_GeoGebra"); überträgt den in der GeoGebra-Umgebung festgelegten Wert in die JavaScript-Umgebung.
Für die Prüfung von mehr als zwei Bedingungen benutzt man eine "wenn-sonst wenn-dann-Anweisung" ("if-else if-else-Anweisung"):
if (Bedingung1) {
Anweisung1
}
else if (Bedingung2) {
Anweisung2
}
else {
Anweisung3
}
Die entsprechenden Blöcke sind durch geschweifte Klammern { } getrennt.
Es können auch mehrere else if-Blöcke hintereinander gefügt werden.
Es können auch mehrere Bedingungen miteinander verknüpft werden:
- Bedingung1 && Bedingung2 ("Bedingung1 UND Bedingung2") - für die Ausgabe "wahr" müssen beide Bedingungen "wahr" sein.
- Bedingung1 || Bedingung2 ("Bedingung1 ODER Bedingung2") - für die Ausgabe "wahr" muss eine der beiden Bedingungen "wahr" sein.
- ! Bedingung1 ("Nicht Bedingung1") - für die Ausgabe "wahr" muss Bedingung1 falsch sein.
Einstellung des Buttons
Anmerkungen:
Der Befehl var a = ggbApplet.getValue("a"); holt sich den Wert der Zahl a aus dem GeoGebra-Applet und speichert ihn in der Skripting-Umgebung.
Diese Variable a hat im Beispiel oben nur zwei Werte (boolesche Werte), nämlich wahr|true (Kontrollkästchen aktiviert) und falsch|false (Kontrollkästchen nicht aktiviert).
Wenn-dann-Anweisung:
if ( (a==true) && (b==true) ) { // "Wenn der Wert von a UND der Wert von b wahr sind, dann ..."
alert("Das Kästchen ist aktiviert."); // "... dann gib den Satz aus."
}
else if ( (a==false) && (b==false) ) {//"Ansonsten wenn der Wert von a UND der Wert von b falsch sind, dann ..."
alert("Das Kästchen ist nicht aktiviert."); // "... dann gib den Satz aus."
}
else { //"Ansonsten - also wenn die Werte von a und b verschieden sind, dann ..."
alert("Das Kästchen ist nicht aktiviert."); // "... dann gib den Satz aus."
}
Je nachdem welche Bedingung wahr ist, wird der entsprechende Block aufgerufen und die Anweisung (hier: die Alert-Ausgabe) ausgeführt.
Die Zeile else if ( (a==false) && (b==false) ) { kann äquivalent ersetzt werden durch else if ( (a!=true) && (b!=true) ) {