Mittels JavaScript besteht die Möglichkeit Objekte als Datensätze zu verwenden, um diese in einem Array verwalten zu können.
Wir definieren in unserem Beispiel die Klasse Person. Sie besitzt die Eigenschaften: groesze, geschlecht und alter. Ihre einzige Methode sei antworten().
Zuerst versuchen wir ein solches Objekt zu erstellen und in ein Array zu legen.
datensatz = new Array(); //Methode der Klasse Person function funktion_antworten(){ return("Ich bin "+this.groesze+"cm grosz."); } function Person(p_groesze,p_geschlecht,p_alter){ this.groesze = p_groesze; this.geschlecht = p_geschlecht; this.alter = p_alter; this.antworte = funktion_antworten; } datensatz[0] = new (89,"maennlich",37); ausgabe = datensatz[0].antworte(); document.write(ausgabe);
Wir erweitern nun auf drei Datensätze und testen, ob dies mit einer For-Schleife zum Abfragen geht.
datensatz = new Array; function funktion_antworten(){ return("Ich bin "+this.groesze+"cm groesze;."); } function Person(p_groesze,p_geschlecht,p_alter){ this.groesze = p_groesze; this.geschlecht = p_geschlecht; this.alter = p_alter; this.antworte = funktion_antworten; } datensatz[0] = new (67,"maennlich",67); datensatz[1] = new (150,"weiblich",15); datensatz[2] = new (89,"maennlich",37); for (i = 0;i<datensatz.length;i++){ ausgabe = datensatz[i].antworte(); document.write(ausgabe+"<br>"); }
Nun erweitern wir den Code um die Eingabemöglichkeit der Daten:
datensatz = new Array; var ii = 0; function funktion_antworten(){ //Methode der Klasse return("Ich bin "+this.groesze+"cm grosz."); } function Person(p_groesze,p_geschlecht,p_alter){ this.groesze = p_groesze; this.geschlecht = p_geschlecht; this.alter = p_alter; this.antworte = funktion_antworten; } p1 = window.prompt("Zahl fuer Groeze eingeben"); p2 = window.prompt("Buchstaben fuer Geschlecht eingeben"); p3 = window.prompt("Zahl fuer Alter eingeben"); datensatz[ii] = new (p1,p2,p3); for (i = 0;i<datensatz.length;i++){ ausgabe = datensatz[i].antworte(); document.write(ausgabe+"<br>"); }
Naja ein paar Änderungen waren schon noch notwendig. Die Variablen der Datensätze wurden geändert. Damit das Programm durchgehend läuft, wurde eine while(1)-Schleife verwendet. Diese wird nur abgebrochen, wenn der Anwender kein Ja drückt. In JavaScript kann der Array beliebig erweitert werden. Wenn die Schleife verlassen wird, erfolgt die Ausgabe aller Daten.
datensatz = new Array(); var ii = 0; function funktion_antworten(){ // gibt den Datensatz als Tabellen-Reihe aus return("<tr><td>" + this.myName + "</td><td>" + this.geschlecht + "</td><td>" + this.alter + "</td></tr>"); } function Person(p_myName,p_geschlecht,p_alter){ this.myName = p_myName; this.geschlecht = p_geschlecht; this.alter = p_alter; this.antworte = funktion_antworten; } alert("test") while(1){ a = window.prompt("Moechten Sie einen weiteren Datensatz anlegen? weiter=y"); if(a == "y"){ p1 = window.prompt("Name eingeben"); p2 = window.prompt("Geschlecht eingeben"); p3 = window.prompt("Zahl fuer Alter eingeben"); datensatz[ii] = new (p1,p2,p3); ii++; }else{ break; } } // Html Tabelle Anfang document.write("<table border=1>"); // Html Tabelle Spaltenüberschriften document.write("<tr><td>Name</td><td>Geschlecht</td><td>Alter</td></tr>"); for (i = 0;i<datensatz.length;i++){ ausgabe = datensatz[i].antworte(); document.write(ausgabe); } // Html Tabell Ende document.write("</table>");