Der Martin: arrayfehler

Beitrag lesen

Hallo,

der fehler ist "anzahl" ist undefiniert. wieso?

Und der Fehler wird in dieser Zeile gemeldet, nehme ich an:

var namen = new Array[anzahl];

Tja... die Variable "anzahl" ist schon definiert. Aber nur lokal innerhalb der Funktion anzahl_fechter(), außerhalb existiert sie nicht. Du musst sie also irgendwie aus dem Kontext der Funktion herausbekommen. Die obenstehende Zeile hat aber auch noch einen syntaktischen Fehler - welchen? ;-)

Am besten ist es natürlich, wenn man den Wert als Ergebnis der Funktion zurückgibt, etwa so:

function anzahl_fechter()
{ return (prompt("Bitte Zahl eingeben","Anzahl der Fechter"));
}

Jetzt musst du nur noch die Funktion aufrufen und das Funktionsergebnis verwenden. Übrigens hat das Array "namen" in array() dasselbe Problem: Auch "namen" ist lokal und damit außerhalb der Funktion nicht mehr verfügbar.
Vielleicht versuchst du aber auch zu sehr, jeden einzelnen Schritt in eine separate Funktion zu packen. Merke: Es ist gut, wenn man seinen Programmcode sauber modularisiert, aber man sollte es nicht übertreiben. Anweisungen, die zusammenhängend einen sinnvollen Zweck erfüllen, sollte man auch zusammen lassen, sonst macht man sich wieder sehr viel Arbeit mit der Datenübergabe von einer Funktion an eine andere.

function array()
{ var namen = new Array[anzahl];
   return
}

Der Name dieser Funktion ist sehr ungünstig gewählt. Auch wenn die vordefinierte Javascript-Klasse "Array" einen großen Anfangsbuchstaben hat, sind hier Verwechslungen fast zwingend zu erwarten.

So long,

Martin

--
Success should be measured not so much by the position that one has reached in life,
but by the obstacles one has overcome while trying to succeed.