Funktionen bilden die Basis zur Programmierung mit JavaScript. Funktionen können selbst Objekte mit Eigenschaften und Methoden sein und bilden die Grundlage zur Definition eigener Objekte.
Das reservierte Wort function übernimmt in JavaScript eine wichtige Rolle sowohl bei der
Definition von Funktionen wie von Objekten. Definition und Aufruf sind dabei denkbar einfach, vor
allem da keine genaue Typen-Definition von übergebenen Variablen stattfinden muß.
Der Programm-Code wird wie in C in geschweiften Klammern gekapselt. Der Aufruf erfolgt über den
Funktionsnamen mit einer Folge von Parametern in Klammern, die nur innerhalb der Funktion gelten.
Bis auf die reservierten Namen können Sie den Funktionen beliebige Namen geben, allerdings
sollte man sich an bestimmte Konventionen bei der Namensvergabe halten.
function spielt in JavaScript die zentrale Rolle bei der Definition von Klassen.
Zusätzlich kann eine Funktion alternativ als Objekt mit eigenen
Methoden und Eigenschaften definiert werden.
Beispiel lokale Variable
Bei Click auf den Link gehen gleich drei alert-Fenster hintereinander auf.
Im ersten wird der innerhalb von function gültige Wert von newValue (8) ausgegeben, im zweiten der Rückgabewert (7)
und im dritten schließlich der globale newValue-Wert (5). Die Definition von newValue innerhalb der Funktion ändert also
nichts an dem globalen Wert.
<script language="javascript">
<!--
var newValue=5;
function alertLocalValue(newValue) {
alert ("der Wert des Parameters: " + newValue);
return 7;
}
//-->
</SCRIPT>
<a href="#example" onclick="
alert('Direkte Ausgabe des Rückgabewertes: ' + alertLocalValue(8));
alert('Der globale newValue-Wert: ' + newValue);">Übergibt 8 als newValue</A>
Objekte übergeben
Noch ein kleines Beispiel, das schön die Flexibilität von JavaScript als interpretierte Sprache zeigt.
Man kann Objekte übergeben, ohne genau zu definieren, was das denn nun sein soll. Es bleibt dem
Programmierer überlassen, sicherzustellen, das die Anweisungen, Eigenschaften und Methoden auch vorhanden sind.
Bei anderen Programmiersprachen wie Java muß man bei kleineren Änderungen in den Schnittstellen alle Aufrufe
entsprechend anpassen.
Objekt-Übergabe
Hier ein kleines Beispiel, in dem ein INPUT-Feld sich bei Änderung des Inhalt über "this"
selbst als Objekt übergibt und die Funktion den Wert des Objekts über die value-Methode in einem
alert-Fenster ausgibt. Im zweiten Fall gibt es die value-Eigenschaft nicht, was einen Fehler produziert.
Ergebnis
Quellcode
<script language="javascript">
function getValueOfObject(anObject) {
alert ("Der Name des Objekts: " + anObject.name);
alert ("Der Wert des Objekts: " + anObject.value);
anObject.value="ueberschrieben!!!";
}
</SCRIPT>
<form>
<input type="text" onchange="getValueOfObject(this)" name="testInputField" />
<br />
<a href="#example" onclick="getValueOfObject(this)" name="testHyperlink">Anderes Objekt</a>
</form>
Der Betreiber von www.dBooks.de übernimmt keine
Verantwortung für den Inhalt und die Richtigkeit der Angaben auf
den verlinkten Websites.
Zu den üblichen NoNos gibt es keine direkten Verweise.