Kontakt aufnehmen

WMLScript: Variablen und Datentypen

Um Variablen in wmlscript nutzen zu können, müssen sie dem Script nur bekannt gegeben werden. Zusätzliche Angaben wie z.B. ein Datentyp sind nicht notwendig. Um Variablen nutzbar machen zu können, ist das Schlüsselwort "var" notwendig.
Für die Definition der Variablen gibt es mehrere Möglichkeiten:

var a;        // Einfache Bekanntgabe der Variablen a
var a, b, c;  // Definition der Variablen a, b und c

Es ist möglich, mit einer einmaligen Anwendung von var mehrere Variablen gleichzeitig zu definieren. Dabei gibt es keine Grenze, wie viele Variablen über diesen Weg bekannt gemacht werden können.

var a = "Variable 1";
// Definition der Variable a inkl. Zuweisung eines 
// Ausdruckes als Wert

var b = 10;
// Definition der Variable a inkl. Zuweisung einer Zahl als Wert

var a, b="Variable 2", c;

Wenn bei der Definition einer Variable ihr gleich ein Wert (String, Zahl, true oder false) zugewiesen wird, spricht man von einer Initialisierung. Bei der Bekanntgabe von mehreren Variablen in einer Zeile kann jederzeit die Definition und die Initialisierung miteinander kombiniert werden (siehe Beispiel 3).

Variablen in Funktionen

Hier gilt grundsätzlich die Regel, dass Variablen, die innerhalb einer Funktion definiert wurden, auch nur für diese Funktion gelten. Die Ausnahme bilden dabei "globale" Variablen, die außerhalb von einer Funktion definiert wurden und innerhalb der Funktionen genutzt werden. Beispiel:

function A() 
{
 var a = "Testvariable a";
}

function B() 
{
 var a = "neue Wert einer anderen Variablen a";
}

Innerhalb der Funktion B() kann nicht auf die Variable a, die in der Funktion A() definiert wurde, zugegriffen werden. Wenn eine Variable a in der Funktion B() genutzt werden soll, muss sie an dieser Stelle neu definiert werden.

var a = "Testvariable a";

function A() 
{
 a = "neuer Wert der gleichen Variablen a";
}

In diesem Fall kann die Variable a innerhalb der Funktion A() genutzt werden, da sie bereits außerhalb der Funktion definiert wurde. Die Angabe des Schlüsselwortes var ist dann nicht mehr notwendig.

Hinweise zu Variablenbezeichnungen

Für Variablennamen gibt es nur wenige Richtlinien, die beachtet werden müssen:

  • Es dürfen Buchstaben von a-z und A-Z genutzt werden.
  • Der Einsatz von Ziffern 0-9 ist möglich.
  • Als einziges Sonderzeichen ist ein Unterstrich "_" erlaubt.
  • Am Anfang muss grundsätzlich ein Buchstabe stehen.
  • Es muss auf Groß- und Kleinschreibung geachtet werden.
Die folgende Liste zeigt alle für WMLScript reservierten Wörter auf. Sie dürfen als Bezeichnungen für Variablen nicht verwendet werden:

access, agent, break, continue, div, domain, else, equiv, 
extern, for, function, header, http, if, isvalID, meta, 
name, path, return, typeof, use, user, var, while, URL

Datentypen

WMLScript unterstützt insgesamt 5 Datentypen. Die folgende Tabelle zeigt eine Übersicht der vorhandenen Datentypen und deren Bedeutung:

Datentyp Bedeutung Id bei Identifikation mit typeof()
Integer Ganze Zahlen 0
Float Fließkommazahlen 1
String Textausdrücke 2
Boolean true oder false 3
InvalID gleich bleibender Wert "invalid" 4
Beim Typ "Integer" geht der feste Zahlenbereich von - 2147483648 bis + 2147483647, wobei am Anfang keine 0 stehen darf. Die Zahlen des Types "Float" sind immer in einen Vorkomma-, Nachkomma- und Exponententeil aufgeteilt, wobei der Vorkommateil immer durch einen Punkt (kein Komma!!) vom Nachkommateil getrennt ist. Die Zeichen des Datentyps "String" werden immer in einfachen Hochkommata oder in doppelten Anführungszeichen angegeben. Der Typ "Boolean" stellt immer nur die beiden Werte true und false zur Verfügung. Der Datentyp "Invalid" kennt sogar nur den einen Wert "invalid". Damit wird u.a. der Inhalt einer Variablen auf Gültigkeit überprüft und "invalid" ausgegeben, falls dieser ungültig ist. Wenn eine Funktion mit einem Rückgabewert aufgerufen wird und das übergebene Argument keine korrekte Ausführung der Funktion zulässt, wird ebenfalls "invalid" ausgegeben.

WMLScript stellt die Funktion typeof()" zur Verfügung, mit der ermittelt werden kann, um welchen Datentyp es sich bei der angegebenen Variablen handelt. Variablen haben bei WMLScript keinen festen Datentyp, so dass er durch eine reine Code-Prüfung nicht ersichtlich ist. Beispiel:

var ausgabe = typeof("Testausdruck");

Als Inhalt der Variable ausgabe würde 2 angezeigt werden, da es sich um einen String (= Zeichenkette) handelt. Weiterhin kann mit der Funktion isvalID() die Gültigkeit eines Variableninhaltes überprüft werden. Beispiel:

var pruefung1 = isvalid("Testausdruck");
var pruefung2 = isvalid(10/0);

Der Inhalt der Variablen pruefung1 ist true, da es sich um einen einfachen Textausdruck handelt. Bei der Variablen pruefung2 würde false angezeigt werden, da eine Division durch 0 nicht erlaubt ist. Der Ausdruck ist ungültig.

Hinweis: Die Rückgabewerte der Funktionen typeof() und isvalid() werden auch als typeof-Operator bzw. isvalid-Operator bezeichnet.

Arrays in WMLScript

Arrays können nicht direkt definiert werden, so wie es u.a. in Javascript möglich ist. Grundsätzlich gilt der Ansatz, dass man einen String definiert, der alle benötigten Array-Elemente beinhaltet. Dazu muss ein einheitliches Trennungszeichen mit angegeben werden (z.B. Leerzeichen oder "-"). Dann kann der "Array-String" beliebig manipuliert werden. Beispiel:

var testarray = "0 0 0 0 0 0";
// entspricht einem leeren Array ohne Werte

var testarray = "1 2 3 4 5 6";
// entspricht einem Array mit 6 Elementen

var testelement = testarray.elementAt(testarray,2," ");
// Auslesen des 3 Elementes; hier: 3

Mit den weiteren Funktionen insertAt(), removeAt() und replaceAt() können einzelne Array-Elemente beliebig manipuliert werden.

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Weiterlesen: ⯈ Operatoren

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern