Simy: Globale Variablen in einer function erzeugen.

Beitrag lesen

Hallo Calocybe,

ich wollte eigentlich keinen mehr draufsetzen, aber irgentwie habe ich den Eindruck, Du verstehst mich gut:

Unklar gelassen wird hier lediglichm was passiert, wenn man innerhalb einer Funktion eine Variablenzuweisung ohne var macht. (Naemlich dass die Variable dann global wird.)

Eben: unklar...aber nun das hier:

Naja, wuerde JS sich einfach verhalten wie eine vernuenftige Sprache und immer auf der ordentlichen Deklaration von Variablen bestehen, haetten wir das Problem nicht. (Aehnliches gilt fuer die hirnverbrannte automatische Typenumwandlung.)

Das mit der automatischen Typumwandlung macht zwar einiges einfacher...aber ich find's auch bekloppt. Wenn man ein paar Postings weiter früher (unten) guckt, gibt es auch zu viele Probleme damit:
Marfi:(JAVASCRIPT) mit Variablen rechnen http://www.teamone.de/selfaktuell/forum/?m=145205&t=27856
Wenn man in einer Computersprache das Problem hat 2 und 2 zusammenzuzählen ... &%/$%&/ ... bekloppt!

ABER: Mit dieser global-Geschichte innerhalb einer Funktion...sehe ich anders.
Ich habe damit eben genau die Möglichkeit dynamisch irgentwelche Variablen zu erzeugen.
In meinem Fall habe ich eine JS-Datei geschriebn, womit man nette Menus erzeugen kann, und zwar in Tabellenform.
Man schreibt die Menupunkte in eine normale HTML-Tabelle und umfasst sie mit einem div-Tag, dem man einen Namen gibt, z.B. id="Menu_1"
Das Javascript nun erzeugt bei einmaligem: init("Menu_1") sämtliche Variablen, merkt sich also sämtliche Daten und macht ein auf- und zupklappendes Menu (auf MousOver oder MouseOut) aus der Tabelle, die dann sogar frei positionierbar ist.
Das schöne daran ist, daß der User irgentwas in HTML bauen kann, und nur noch einmal am Ende einen inti(); - Befehl schreiben muß und - alles funzt.
Der Benutzer hat das Gefühl, einen einfachen Befehl zu benutzen, ohene irgentwelche besonderen Kenntnisse von JavaScript...und den ganzen Problemen gie man mit Variablen haben kann.
Diese Sache könnte ich sonst nur machen, indem ich den User vorher noch angeben lassen muß, wieviele Menus er für die Seite braucht, und zwar in der Form:
var menuArray = new Array(5) // für 5 Menus
oder so ähnlich. Das ist irgentwie nicht elegant, und kapselt auch das JavaScript nicht ordentlich ab.

Naja, ich hoffe, es war irgentwie interessant.  :S

Großes Faszit aus dem Ganzen:

Ich darf das so machen; das Script ist einfach zu benutzen...und ist JavaScript-konform.

So long

Genau: Bis zum nächsten Mal

Gruß, Simy