einfaches Script erklären-ich verstehe es nicht :(

Rodpacker

Mitglied
Code:
<script type="text/javascript" language="JavaScript">
<!--

//erstellen der Funktion ausgabe
function ausgabe()
{
//Variable "summe" wird auf Null zurückgesetz
summe = null;
//Ausgabe der Überschrift
document.write('<h1>Artikelübersicht</h1>');
//erstellen einer Zelle
document.write('<table width=300 border=1 cellspacing=0 cellpadding =0>');
	//For-Schleife.....solange i kleiner als die ArrayAnzahl
	for(i=0;i<artikel.length;i++){
	//  wird artikel name und Preis in   Euro in Tabelle geschrieben
	document.write('<tr><td>'+artikel[i]["name"]+'</td><td>'+artikel[i]["preis"]+' €'+'</td></tr>');
         //hier wird die gesamtsumme errechnet
	summe = summe + artikel[i]["preis"];
	}
//die Gesamtsumme wird in Euro in ein Zelle eingetragen
document.write('<tr><td>Gesammtsumme</td><td>'+summe+' €'+'</td></tr></table>');
}

Hallo,
trotz geringer JS-Grundkenntnisse kann ich die Funktionsweise dieses Scriptes nicht verstehen. Ich habe es zwar schon auskommentiert, aber wie ist denn die Abarbeitungsreihenfolge?
Und dann dachte ich immer, dass der INdex eines ARRAYS in einer(!) Klammer dannach festgesetzt wird, aber was machen denn plötzlich 2 eckige Klammern?

ich würde das Script gerne verstehen, auch wenn es einfach ist, weil ich ungern Grundlagen übersrpinge sondern lieber alles davon verstehe bevor ich mit CUT 'n Paste lebe ;)

könnte mir das hier vielleicht jemand kurz so auskommentieren, dass es ein JS-Noch-Dau wie ich verstehen kann!

Ihr würdet mir sehr helfen....
vielen Dank

greetz Rodpacker



Code:
//Befühlen der Variablen anzahl über BenutzerEingabe
anzahl = prompt("Wieviele?","");
//anlegen eines Arrays namens artikel
artikel = new Array();

//for-Schleife
for(i=0; i < anzahl; i++)
{
artikel[i] = new Array();
//Abfrage der Namenseingabe des Users
artikel[i]["name"]=prompt("Name von Artikel " +(i+1));
//Abfrage der PreisEingabe des Users
artikel[i]["preis"]=parseFloat(prompt("Preis von " +artikel[i]["name"]));
}
//Hm
ausgabe();

//-->
</script>
 
uuuuuuuuuuuuuuuuuuuuuuuuuuupppppppsssss

Oh nein, sorry,
in meiner Verzweiflung und völligsten Braincooking phase, hab ich dummerweise die Beschreibung mitten ins Script gesetzt!

Ich hoffe Ihr könnt mir verzeihen



Hier nochmal das Script im Ganzen:


Code:
<script type="text/javascript" language="JavaScript">
<!--

//erstellen der Funktion ausgabe
function ausgabe()
{
//Variable "summe" wird auf Null zurückgesetz
summe = null;
//Ausgabe der Überschrift
document.write('<h1>Artikelübersicht</h1>');
//erstellen einer Zelle
document.write('<table width=300 border=1 cellspacing=0 cellpadding =0>');
	//For-Schleife.....solange i kleiner als die ArrayAnzahl
	for(i=0;i<artikel.length;i++){
	//  wird artikel name und Preis in   Euro in Tabelle geschrieben
	document.write('<tr><td>'+artikel[i]["name"]+'</td><td>'+artikel[i]["preis"]+' €'+'</td></tr>');
         //hier wird die gesamtsumme errechnet
	summe = summe + artikel[i]["preis"];
	}
//die Gesamtsumme wird in Euro in ein Zelle eingetragen
document.write('<tr><td>Gesammtsumme</td><td>'+summe+' €'+'</td></tr></table>');
}

//Befühlen der Variablen anzahl über BenutzerEingabe
anzahl = prompt("Wieviele?","");
//anlegen eines Arrays namens artikel
artikel = new Array();

//for-Schleife
for(i=0; i < anzahl; i++)
{
artikel[i] = new Array();
//Abfrage der Namenseingabe des Users
artikel[i]["name"]=prompt("Name von Artikel " +(i+1));
//Abfrage der PreisEingabe des Users
artikel[i]["preis"]=parseFloat(prompt("Preis von " +artikel[i]["name"]));
}
//Hm
ausgabe();

//-->
</script>
 
Hallo...

das mit den 2 eckigen Klammern ist immer noch ein Array, man spricht dabei von mehrdimensionalen Arrays.
Dies ist der Fall, wenn ein Array als Elemente weitere Arrays enthält.... es sind auch weitaus mehr Dimensionen möglich.
du kannst es so sehen... für jede Dimension eine Klammer.... 2 Klammern==zweidimensionaler Array.

Was die Abarbeitungsreihenfolge angeht,....hier entlang :-)===>


/*(1)Eingabeaufforderung zur Anzahl der Artikel und speichern dieser Eingabe in der Variablen "anzahl"*/
anzahl = prompt("Wieviele?","");

/*(2)Anlegen eines Arrays "anzahl"*/
artikel = new Array();

/*(3)Durchlaufen einer Schleife mit Anzahl an Durchläufen entsprechend der Benutzereingabe unter Schritt (1)*/
for(i=0; i < anzahl; i++)
{
/*(4)Erzeugen eines neuen Elements im Array "artikel".
Dieses neue Element ist wiederum ein Array, wodurch "artikel" zum mehrdimensionalen
Array wird.*/
artikel" = new Array();

/*(5)Erzeugen eines neuen Arrayelements in "artikel"".
Dieses Arrayelement hat im Gegensatz zu "artikel" als Schlüssel eine Zeichenfolge("name") und keine Index-Nummer, wodurch "artikel" zu einem sogenannten assoziativen Array wird.
Als Wert wird diesem Array-Element das Ergebnis einer Eingabeaufforderung zugewiesen.
Wissenswert ist noch die Tatsache, dass in Javascript assoziative Arrays nur eingeschränkt mit den Array-Funktionen bearbeitet werden können. So ist bspw. ein sortieren assoziativer Arrays per sort() nicht möglich(was aber bei dieser Anwendung keine Rolle spielt)*/
artikel=prompt("Name von Artikel " +(i+1));

/*(6)Das selbe Spiel wie bei Schritt (5), nur das diesmal ein neues Element mit dem Schlüssel "preis" erzeugt und mit dem Ergebnis einer weiteren Eingabeaufforderung belegt wird.
"parseFloat()" wandelt dabei die Zeichenkette, welche die Eingabeaufforderung zurückgibt, in eine Kommazahl um.
Als Komma zählt in Javascript dabei nur der Punkt, alles was nicht Punkt oder Zahl ist, wird aus der übergebenen Zeichenkette entfernt(ab dem ersten ungültigen Zeichen wird dann alles entfernt,.... natürlich ist dabei auch nur 1 Punkt erlaubt).*/
artikel"=parseFloat(prompt("Preis von " +artikel));
}

/*(7)Aufruf der Funktion "ausgabe()".
.. ein Funktionsaufruf bewirkt erst das Ausführen einer Funktion. In dieser Funktion kann nunmehr auf alle Variablen/Arrays, welche in den Schritten (1)-(7) erzeugt wurden, zugegriffen werden.
Die nächsten Schritte werden in der Funktion "ausgabe()"abgearbeitet. Da du das ja schon kommentiert hast, spare ich mir das an dieser Stelle */
ausgabe();
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück