Objekte, Methoden und Eigenschaften
Objekt erzeugen
Um ein neues Objekt und seine Eigenschaften anzulegen, muss eine Funktion definiert werden. Der Name der Funktion ist zugleich der Name des Objekts, das mit dieser Funktion angelegt wird. Als Parameter, die die Funktion erwartet, werden die Eigenschaften des Objekts notiert. Innerhalb der Funktion wird fuer jede Eigenschaft, die bei den Funktionsparametern festgelegt wurde, eine Anweisung gegeben. Um Bezug auf das Objekt zu nehmen, wird das reservierte Wort
this
, gefolgt von einem Punkt und dem Parameternamen notiert. Dahinter erfolgt die Anweisung, abgeschlossen durch einen Strichpunkt.
Nachdem das Objekt angelegt ist, kann eine Instanz dieses Objekts definiert werden. Dies geschieht durch Anlegen einer Variablen, die Daten fuer das angelegte Objekt enthalten soll. Die Instanz selbst wird dann durch das reservierte Wort
new
, gefolgt vom Objektnamen, erzeugt. In Klammern gesetzt folgen dann noch die Werte der Parameter, die uebergeben werden sollen.
Objekteigenschaften
koennen jederzeit ausgelesen werden, und in vielen Faellen lassen sich die Werte der Eigenschaften auch aendern. Objekteigenschaften werden angesprochen, indem zuerst der Namen des Objekts notieren wird, dahinter einen Punkt, und dahinter den Namen der Eigenschaft. Dabei sind keine Leerzeichen erlaubt!
<html> <head> <title>Browser des Anwenders auslesen</title> <script language="JavaScript"> <!-- var BrowserName = navigator.appName; var BrowserVersion = navigator.appVersion; alert("Ah ja, Sie verwenden also den " + BrowserName + ", und zwar in der Version " + BrowserVersion); // --> </script> </head> <body> </body> </html>
Methoden von Objekten
Methoden sind Funktionen, die an ein bestimmtes Objekt gebunden sind. Viele vordefinierte JS-Objekte haben Methoden. z.B. gibt es fuer das Objekt
history
die Methode
history.back()
, mit dem ein Ruecksprung zu einer bereits besuchten URL-Adresse durchgefuehrt werden kann.
Objektmethoden werden angesprochen, indem zuerst der Namen des Objekts notiert wird, dahinter einen Punkt, dahinter den Namen der Methode, und dahinter eine oeffnende und eine schliessende Klammer. Dabei sind keine Leerzeichen erlaubt! Einige Methoden koennen auch Parameter beim Aufruf erwarten. Diese Parameter werden dann zwischen den Klammern übergeben.
Funktionen
Mit Hilfe von Funktionen koennen Prozeduren programmiert werden, die dann ueber den Aufruf der Funktion ausgefuehrt werden koennen. Um zu bestimmen, bei welchem Ereignis die Funktion aufgerufen wird, werden sog.
Event-handler
benutzt. JS-Code, der nicht innerhalb einer Funktion steht, wird beim Einlesen der HTML-Datei vom Browser sofort ausgefuehrt.
Das Schluesselwort
function
leitet die Definition der Funktion ein, dahinter folgt der waehlbare Funktionsname (mit Leerzeichen - ohne Punkt). Unmittelbar hinter den Namen folgt eine oeffnende Klammer und, wenn kein Parameter erwartet werden soll, sofort wieder eine schliessende Klammer. Falls der Funktion Parameter uebergeben werden, werden die Parameternamen - getrennt durch Kommata - innerhalb der Klammern notiert. Auch diese Namen sind frei waehlbar. Der gesamte Inhalt der Funktion wird in geschweifte Klammern
{...}
eingeschlossen.
Beispiel:
<html> <head> <title>Zahl auf Primzahl checken</title> <script language="JavaScript"> <!-- function PrimzahlCheck(Zahl) { var Grenzzahl = Zahl / 2; var Check = 1; for(i = 2; i <= Grenzzahl; i++) if(Zahl % i == 0) { alert(Zahl + " ist keine Primzahl, weil teilbar durch " + i); Check = 0; } if(Check == 1) alert(Zahl + " ist eine Primzahl!"); } //--> </script> </head> <body> <form name="PrimzahlFormular"> Geben Sie eine Zahl ein, die Zahl wird auf Primzahl gecheckt:<br> <input type=text name="Eingabezahl"> <input type=button value="auf Primzahl checken" onClick="PrimzahlCheck(document.PrimzahlFormular.Eingabezahl.value)"> </form> </body> </html>
Die Funktion wird mit ihrem Funktionsnamen aufgerufen. Zwischen den nachfolgenden Klammern erfolgt die Angabe der etwaigen Parameterwerte.
Funktion mit Rueckgabewert
Beispiel:
<html> <head> <title>Bruttobetrag aus Nettobetrag errechnen</title> <script language="JavaScript"> <!-- function BruttoBetrag(Netto, Prozente) { var Ergebnis = Netto * (1 + (Prozente / 100)); return Ergebnis; } function SchreibeBrutto(Betrag, Prozentsatz) { var Wert; Wert = BruttoBetrag(Betrag, Prozentsatz); document.BruttoForm.Ergebnisfeld.value = Wert; } //--> </script> </head> <body> <form name="BruttoForm"> Nettobetrag: <input type=text name="NettoEingabe"><br> Prozentsatz: <input type=text name="ProzentEingabe"><br> <p>Kommabetrag mit Punkt eingeben!</p> <input type=button value="Brutto ermitteln" onClick="SchreibeBrutto(document.BruttoForm.NettoEingabe.value,document.BruttoForm.ProzentEingabe.value)"> <p> Ergebnis: <input type=text name="Ergebnisfeld"> </form> </body> </html>
In JS gibt es auch einige integrierte Funktionen. Diese Standardfunktionen lassen sich ohne vorheriger Definition verwenden.