Felix Riesterer: Hilfe - Meine Variable ist gefangen

Beitrag lesen

Lieber Ratfish,

alert("Global? '" + _global + "'");
funktioniert, weil _global auch außerhalb der function zur Verfügung steht - klar.

alert("window._global? '" + window._global + "'");
funktioniert auch, aus dem selben Grund wie oben, oder?

window._global ist dasselbe(!) wie window._global und "funktioniert" deshalb immer.

Ich habe dann mal noch folgendes probiert:
alert("window._lokal? '" + window._lokal + "'");
das funktioniert nicht, trotz "window."

Eine lokale Variable ist eben nicht an das window-Objekt gekoppelt und kann daher auch nicht über window._lokal "erreicht" werden.

In meinem Problem habe ich die Variable "msgAusgabe" ohne "var" definiert, also müsste sie außerhalb der function zur Verfügung stehen, oder?

Ja.

Tut sie aber nicht.

Dann kann es an einem Timingproblem liegen. Das soll heißen, Du fragst das Vorhandensein dieser Variable ab, bevor sie definiert wurde.

Wo ist mein Denkfehler?

Wahrscheinlich darin, dass Du die Funktion, welche diese globale Variable überhaupt erst definiert, erst dann aufrufst, wenn Du das Vorhandensein der globalen Variable bereits erfolglos erwartet hast.

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)