Ergebnis 1 bis 3 von 3
-
09-11-2013, 21:57 #1
Jungspund
- registriert
- 28-01-2011
- Ort
- Blankenburg / harz
- Beiträge
- 10
Globale Variablen innerhalb globalem Array ändern / ausgeben
Hallo Leute!
Habe ein globales, assoziatives Array "Tooltipp", welches - ebenfalls global definierte - Variablen "Hd0, Hd1, Dt0, Dt1..." enthält. Verschiedene Funtionen sollen dieses Array ranziehen, enthaltene Variablen ändern und ausgeben. Mir unverständlicher Weise werden die Änderungen in den Funktionen nicht in die globalen Variablen des Arrays geschrieben. Das Array selbst funktioniert ebenso, wie die Funktionen. JS-Editor und Firebug melden auch keine Fehler?
Beispiel mit einer Mini-Funktion ( Man könnte einiges eleganter machen... soll nur ein kurzers, unkompliziertes Beispiel sein)
Code:// Globale Variablen: var Hd0 = "Ursuppe_Hd0", Hd1 = "Ursuppe_Hd1", Dt0 = "Ursuppe_Dt0", Dt1 = "Ursuppe_Dt1", Tooltipp = new Array(); Tooltipp[0] = new Object(); Tooltipp[0]["head"] = Hd0 + " zeigen"; Tooltipp[0]["data"] = "Das " + Dt0 + " für " + Dt1 + " jetzt anzeigen?"; Tooltipp[1] = new Object(); Tooltipp[1]["head"] = Hd0 + " kaufen"; // in Gebrauch: Dtl Tooltipp[1]["data"] = "Das " + Dt0 + " für " + Dt1 + " jetzt kaufen?"; Tooltipp[2] = new Object(); Tooltipp[2]["head"] = Hd0 + " ändern"; Tooltipp[2]["data"] = "Das " + Dt0 + " für " + Dt1 + " jetzt ändern?"; // HTML-Funktionsaufruf, z.B. OnMouseOver="TTip(Tooltipp,2,'Tolle Angebote#','Angebot#Schuhe')" function TTip(Array, ArrayNr, HeadTexte, DatenTexte) { var ArrayHead, ArrayData; // Variablen für Array-Objekt "berechnen": ArrayHead = HeadTexte.split('#'); Hd0 = ArrayHead[0]; Hd1 = ArrayHead[1]; Hd2 = ArrayHead[2]; ArrayData = DatenTexte.split('#'); Dt0 = ArrayData[0]; Dt1 = ArrayData[1]; Dt2 = ArrayData[2]; // Test: // Array korrekt ausgelesen, Variablen gesetzt... // aber eben nicht im Array-Objekt... ??? alert("Hd0 = " + Hd0 + "\nArray-Head = " + pyTtp[pTtpNr]["head"] + "\n\n Dt0 = " + Dt0 + "\n Dt1 = " + Dt1 + "\n Array-Data" + pyTtp[pTtpNr]["data"]); }
Vielen Dank vorab,
Gruß RalfGeändert von TIMS_Ralf (09-11-2013 um 23:29 Uhr)
-
10-11-2013, 11:53 #2
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
AW: Globale Variablen innerhalb globalem Array ändern / ausgeben
Also bei mir kommt eine Fehlermeldung in der Konsole, hast du die JS Fehlermeldungen aktiviert?
-
10-11-2013, 17:53 #3
AW: Globale Variablen innerhalb globalem Array ändern / ausgeben
Ich hab' keine Ahnung, was dein Problem genau ist... versuch' das doch etwas genauer zu beschreiben.
PS: Das Ganze sieht mir aber nicht besonders elegant/robust/wartbar aus. Globale Variablen sind prinzipiell zu vermeiden, da sie schwer nachvollziehbare Fehler erzeugen können. Außerdem könntest du deinen Code leserlicher machen, wenn du anstatt der Konstuktoren für Array (den man sowieso vermeiden sollte) und Object die Literalschreibweise verwendest.
PPS: Ich JS gibt es die Konvention Variablen- und Funktionsnamen mit einem kleinen Buchstaben anfangen zu lassen. Lass deinen Code mal durch jslint/jshint laufen...
PPPS: es heißt onmouseover - komplett ohne Großbuchstaben.
Ähnliche Themen
-
globale Variablen durch lokale Variable ändern
Von Kalito im Forum JavaScriptAntworten: 2Letzter Beitrag: 31-05-2011, 23:13 -
Globale Variablen
Von thordirk im Forum JavaScriptAntworten: 2Letzter Beitrag: 24-06-2008, 15:08 -
Globale innerhalb einer Funktion definieren?
Von aeternitas103 im Forum JavaScriptAntworten: 2Letzter Beitrag: 07-04-2008, 17:51 -
[PHP] globale Variablen
Von slosd im Forum Serverseitige ProgrammierungAntworten: 3Letzter Beitrag: 08-01-2008, 13:13 -
globale Variablen
Von Soapp im Forum JavaScriptAntworten: 2Letzter Beitrag: 24-09-2006, 08:36
Lesezeichen