ActionScript: Überprüfung Gleichheit oder das Vergleichen von von Werten
Sie möchten überprüfen, ob zwei Werte gleich sind. Verwenden Sie die Gleichheit (oder Verschiedenheit) oder strengen Operator der Gleichheit (oder strenger Verschiedenheit), um zwei Werte zu vergleichen. Um zu überprüfen ob ein Wert eine gültige Zahl ist, benutzen Sie isNaN(). Gleichheitausdrücke bringen immer einen Booleschen Wert zurück, der anzeigt, ob die zwei Werte gleich sind. Die Operatoren der Gleichheit (und Verschiedenheit) kommen in die regelmäßigen und strengen Aromen. Die regelmäßigen Gleichheit- und Verschiedenheitoperatoren überprüfen, ob die zwei Ausdrücke, die verglichen werden, zum gleichen Wert behoben werden können, nachdem man sie in das gleiche datatype umgewandelt hat. Z.B. merken Sie, daß der Zeichenkette "6" und der Nr. 6 als gleich gelten, weil die Zeichenkette "6" in die Nr. 6 vor Vergleich umgewandelt wird: trace(5 == 6); //Anzeigen: falsches trace(6 == 6); //Anzeigen: zutreffendes trace(6 == "6"); //Anzeigen: zutreffendes trace(5 == "6"); //Anzeigen: falsch Die logische Rückkehr des Verschiedenheitoperators (! =) falsch, wenn zwei Werte gleich und zutreffend sind, wenn sie nicht gleich sind. Bei Bedarf werden die Rechengrößen in das gleiche datatype vor dem Vergleich umgewandelt: trace(5! = 6); //Anzeigen: zutreffendes trace(6! = 6); //Anzeigen: falsches trace(6! = "6"); //Anzeigen: falsches trace(5! = "6"); //Anzeigen: zutreffend Andererseits die strenge Gleichheit und die Überprüfung der Verschiedenheitoperatoren zuerst, ob die Werte, die verglichen werden, vom gleichen datatype sind, bevor sie den Vergleich durchführen. Unterschiede bezüglich des datatype veranlassen den strengen Gleichheitsoperator, falsches zurückzubringen und der strenge Verschiedenheitoperator zu Rückhol richten aus: trace(6 === 6); //Anzeigen: zutreffendes trace(6 === "6"); //Anzeigen: falsches trace(6! = = 6); //Anzeigen: falsches trace(6! = = "6"); //Anzeigen: zutreffend Es gibt einen grossen Unterschied zwischen dem
Zuweisungsoperator (=) und der Gleichheitsoperator (==)., wenn Sie den
Zuweisungsoperator anstelle vom Gleichheitsoperator verwenden, ändern
Sie den Wert der Variable anstatt die Prüfung seines gegenwärtigen
Wertes. Das Verwenden des falschen Operators führt zu unerwartete Resultate. Im folgenden Beispiel konnten myVar Gleichgestellte 5 anfangs, also Sie das folgende erwarten, wenn zu falschem immer auszuwerten die Aussage, das trace() an durchgeführt werden verhindernd: var myVar = 5; //der folgende Code ist falsch.
Es sollte wenn sein (myVar == 6) anstatt wenn (myVar = 6)
{trace("Rabbits sind Häschen."); } trace("myVar ist" + myVar);
//Anzeigen: ist 6 myVar
Jedoch verwendet das Beispiel irrtümlich den Zuweisungsoperator (=) anstelle vom Gleichheitsoperator (==). das heißt, die Ausdruck myVar = 6 Sätze, die bis 6 myVar sind, anstatt zu prüfen, ob 6 myVar ist. Wenn Sie in verwendet werden, wenn Klausel, der Ausdruck myVar = 6 als die Nr. 6 behandelt wird. Weil jede ungleich Nullzahl, die in einem Testausdruck verwendet wird, in das Boolesche zutreffende umwandelt, wird die trace() Tätigkeit benannt. Ersetzen Sie den Testausdruck mit myVar == 6 anstatt. Sie können das datatype eines Einzelteils mit dem typeof Operator überprüfen, wie folgt: var myVar = 5; wenn (typeof myVar == "Zahl")
{trace("Yippee. Es ist eine Zahl."); }
Aber etwas numerische Werte sind unzulässig. Die folgenden Beispielresultate in myVar einstellend gleich NaN (eine Konstante, die unzulässige Zahlen, Kurzschluß für "Nicht-ein-Zahl" darstellt) weil die Berechnung nicht in einer sinnvollen Weise durchgeführt werden kann: var myVar = 15 - "Kaffee"; Trotz seines Namens ist NaN ein anerkannter Wert des Zahl datatype: trace(typeof myVar); //Anzeigen: "Zahl" Folglich zum Test, wenn etwas nicht nur eine Zahl ist, aber zu einer gültigen Zahl, konnten Sie dieses versuchen: var myVar = 15 - "Kaffee"; wenn (typeof myVar ==
"Zahl") arbeiten {// Nizza Versuch, aber dieses nicht. wenn
(myVar! = NaN) {trace("Yippee. Es ist eine Zahl.");
}}
Sie können nicht einen Wert mit der Konstante NaN mit Überprüfung einfach vergleichen, ob es eine gültige Zahl ist. Stattdessen müssen Sie die spezielle isNaN() Funktion verwenden, um den Test durchzuführen. Um festzustellen wenn eine Zahl unzulässig ist, verwenden Sie die spezielle isNaN() Funktion, wie folgt: var myVar = 15 - "Kaffee"; wenn (isNaN(myVar))
{trace("Sorry, ist die nicht eine gültige Zahl."); }
Um das Entgegengesetzte einer Bedingung zu prüfen (d.h., ob die Bedingung nicht zutreffend ist) verwenden Sie den logischen NICHT Operator (!). zum Beispiel, um zu überprüfen ob eine Variable eine gültige Zahl, ein Gebrauch!isNAN() enthält, wie folgt: var myVar = 15 - "Kaffee"; wenn (!isNaN(myVar)) ist
{// die Zahl nicht unzulässig, also muß es eine gültige Zahlspur
sein (", die eine gültige Zahl." ist); //dieses springt zu
einem anderen Rahmen und annimmt, daß Sie einen Rahmen
"SuccessScreen" beschriftet haben. gotoAndStop
("SuccessScreen"); }
Selbstverständlich können Sie Vergleiche mit den weithin bekannten Vergleich Operatoren durchführen. Z.B. können Sie verwenden > und < die Operatoren, zum zu überprüfen, ob ein Wert kleiner als oder grösserer als ein anderer Wert ist: trace(5 < 6); //Anzeigen: zutreffend trace(5 > 5); //Anzeigen: falsch Ähnlich können Sie verwenden > = und < = die Operatoren, die überprüft werden, ob ein Wert kleiner als oder Gleichgestelltes zu ist, oder als grösser oder Gleichgestelltes zu, ein anderer Wert, die: trace(5 < = 6); //Anzeigen: zutreffend trace(5 > = 5); //Anzeigen: zutreffend Sie sollten auch beachten, daß ActionScript unterschiedliche datatypes anders als vergleicht. ActionScript Daten können in ursprüngliche datatypes (Zeichenkette, Zahl und Boolesches) oder in zusammengesetzte datatypes (Gegenstand, movieclip und Reihe) kategorisiert werden. Wenn Sie ursprüngliche datatypes vergleichen, vergleicht ActionScript sie "durch Wert." In diesem Beispiel myVar und myOtherVar gelten als gleich, weil sie beide den Wert 6 enthalten. var myVar = 6; var myOtherVar = 6; Spur (myVar == myOtherVar); //Anzeigen: zutreffend Jedoch wenn Sie zusammengesetzte datatypes vergleichen, vergleicht ActionScript sie "durch Hinweis." Einzelteile durch Hinweis zu vergleichen bedeutet, daß die zwei Einzelteile als gleich nur wenn beider Punkt genau dem gleichen Gegenstand, nicht bloß Gegenständen mit zusammenpassendem Inhalt gelten. Z.B. gelten zwei Reihen, welche genau die gleichen Werte enthalten, nicht als Gleichgestelltes: //verursachen Sie zwei Reihen mit dem gleichen Elemente
arrayOne = neues Array("a", "b", "c"); arrayTwo = neues
Array("a", "b", "c"); trace(arrayOne == arrayTwo);
//Anzeigen: falsch
Zwei zusammengesetzte Einzelteile sind gleich, nur wenn sie beide den identischen Gegenstand, die Reihe oder auf den Filmclip sich beziehen. Z.B.: //verursachen Sie ein einzelnes Reihe arrayOne = neues
Array("a", "b", "c"); //verursachen Sie eine andere Variable,
die das gleiche Reihe arrayOne = arrayTwo bezieht;
trace(arrayOne == arrayTwo); //Anzeigen: zutreffenddieses ist ein Artikel, der von Gabriel Savimbi
hinzugefügt wird
|
|||
|