Der Aufbau einer Funktion besitzt ein allgemeines Schema:

function funktionsname()
{
  Kommando(s);
}

Hinter dem Funktionsnamen müssen immer Klammern mit angegeben werden.

Parameter  nach oben

In den Klammern hinter dem Funktionsnamen werden die Parameter definiert, die an eine Funktion übergeben wurden. Wenn es mehrere Parameter sind, werden diese durch ein Komma getrennt. Beispiel:

function funktionsname(a,b,c)
{
  Kommando(a);
}

Innerhalb der Funktion können auf die Parameter wie auf Variablen zugegriffen werden. Die Angabe der Parameter neben dem Funktionsnamen reicht vollkommen aus. Eine zusätzliche Deklaration mit var ist nicht notwendig.

Schlüsselwort extern  nach oben

Wenn bei der Definition einer Funktion das Schlüsselwort extern mit angegeben wird, kann diese Funktion auch von einer anderen Datei aufgerufen werden. Dabei kann es sich um eine weitere wmls- oder um eine wml-Datei handeln. Beispiel:

extern function funktionsname(a,b,c)
{
  Kommando(a);
}

Schlüsselwort return  nach oben

Es gibt die Möglichkeit, dass eine Funktion bestimmte immer wiederkehrende Aufgaben ausführt. Das Resultat ist dann für weitere Ausführung des Skriptes notwendig. Um den Quellcode zu vereinfachen, kann eine Funktion definiert werden, die diese Aufgabe(n) ausführt und die nur die benötigten Parameter übergeben bekommt. Mit dem Schlüsselwort return wird das Ergebnis wieder an das Skript zurückgegeben. Beispiel:

function funktionsname()
{
 var a = 23;
 var b = 25;
 var result = a + b;

 return result;
}

Aufruf von Funktionen außerhalb der Compilation Unit  nach oben

Wenn von einer Funktion einer bestimmten Compilation Unit eine Funktion einer anderen wmls-Datei aufgerufen werden soll, stellt WMLScript das "use URL"-Kommando zur Verfügung. Damit wird ein Alias für die externe URL angelegt und die benötigte Funktion in dieser URL kann einfacher aufgerufen werden. Beispiel:

// in Datei test1.wmls:

use URL testaufruf "http://www.google.de/wml/test2.wmls"

function test1()
{
 var resultat = testaufruf#rechnung(1,2);
}



// in Datei test2.wmls:

extern function rechnung(a,b)
{
 var result = a+b;
 return result;
}