|
Verfasst am: 10. 06. 2010 [18:46]
|
|
sunixzs
Dabei seit: 18.06.2008
Beiträge: 93
|
Hallo,
evtl. kann mir wer etwas erklären:
var test = "Global"; // sofern es globale Variablen in JS ueberhaupt gibt
var f = function () {
if ( typeof test != "string" ) test = "Funktion";
alert(test);
}
f(); // Ausgabe: Global
Wenn ich in der Funktion nun in der Bedingung die Variable definiere (var test = "Funktion" ), dann erzeugt mein typeof ein "undefined":
var test = "Global";
var f = function () {
if ( typeof test != "string" ) var test = "Funktion";
alert(test);
}
f(); // Ausgabe: Funktion
als ob "test" zuvor nicht definiert wurde bzw. meine Bedingung "test" löscht oder sowas.
Hintergrund:
Ich brauche ein globales Objekt, welches ich in der einen Methode konfigurieren kann (ein Karten-Konfigurator) und in einer andere Methode (ein JavaScript-Login) weiter verarbeiten muss. Die Konfiguration darf nicht verloren gehen beim Login. Es werden nach dem Login bestimmte Funktionen für den User nachgeladen - z. B. "Konfiguration speichern".
Ich wollte sichergehen, dass mein Objekt korrekt erzeugt wird, falls außerhalb meiner Konfigurator-Methode meine "Globale Variable" nicht gesetzt wurde (mit 'if ( typeof myObj != "object" ) var myObj = {};'). Nun suchte ich stundenlang nach dem Fehler, den ich zwar beseitig habe, aber nicht verstehe.
Falls wer mehr dazu weiß - bitte was schreiben.
Danke und Gruß
sun
PS: Ich poste es in diesem Forum, weil es mein Lieblingsforum und eine Typo3-Seite ist, die ich gerade bearbeite.
Edith sagt: Irgendwie wurden Smilies erzeugt, die ich nicht setzte.
[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 10.06.2010 um 18:47.]
|