Globale Variablen?
Andy
- javascript
0 Martin Jung0 Andy0 Mirko0 Maja0 Martin Jung
0 Cyx230 Andy0 Oliver Zubrod0 Cyx23
Hi,
Gibt es Variablen die außerhalb von Scripts erhalten bleiben (im Fenster oder HTML).
mfg
Andy
Hi,
Gibt es Variablen die außerhalb von Scripts erhalten bleiben (im Fenster oder HTML).
Ja - globale Variablen ;-))
Deklaration:
* eben außerhalb der Funktion (aber innerhalb einer JS-Definition)
* innerhalb einer Funktion, bei Abwesenheit des "var" Bezeichners.
Grüße,
Martin
Hi,
Gibt es Variablen die außerhalb von Scripts erhalten bleiben (im Fenster oder HTML).
Ja - globale Variablen ;-))
Deklaration:
* eben außerhalb der Funktion (aber innerhalb einer JS-Definition)
* innerhalb einer Funktion, bei Abwesenheit des "var" Bezeichners.
Grüße,
Martin
Martin,
Sobald man den Script schliesst wird die globale Variable gelöscht.
Gibt es aber Variablen die im ganzem HTML bestehen bleiben.
Grüße
Andy
Hi Ihr,
kleine Anmerkung: ein Objekt oder primitiver Variable, die innerhalb einer Funktion erzeugt wurde, existiert genau bis zum Ende dieser Funktion. D.h.: Ruft diese Funktion eine ander auf, so kennt auch diese Funktion die Variablen/Objekte unter den selben Bezeichnern.
Bsp.:
<script>
function showIt()
{
alert(foo);
}
function doIt()
{
foo = 'hello babe';
showIt();
}
doIt();
</script>
Ohne weiteres führt der Aufruf von doIt() zur korrekten Ausgabe von 'hello babe'.
Ansonsten sind außerhalb jeglicher function-Bodies definierte Variablen auch "uberall sonst bekannt, z.B. auch in Eventhandlern, die direkt in HTML-Tags registriert werden.
Wird das entsprechende Dokument "ungeladen", sind auch alle Variablen und Objekte zerst"ort, die zum entsprechenden window-Objekt geh"oren.
Mirko
Wird das entsprechende Dokument "ungeladen", sind auch alle Variablen und Objekte zerst"ort, die zum entsprechenden window-Objekt geh"oren.
Hm, wie ist das wenn ich mit window.open ein neues Fenster öffne dann das Fenster in dem window.open steht aber schließe? Hier ist das Problem, dass zwar noch das neue Objekt besteht, aber die Variable über die ich das Objekt ansprechen könnte nicht mehr da ist. Eine "Ansprach" ist nur noch über target=fensterName möglich.
Hi Du,
1. »» kleine Anmerkung: ein Objekt oder primitiver Variable, die innerhalb einer Funktion erzeugt wurde, existiert genau bis zum Ende dieser Funktion.
Richtig.
2. »» D.h.: Ruft diese Funktion eine ander auf, so kennt auch diese Funktion die Variablen/Objekte unter den selben Bezeichnern.
Falsch - das funktioniert _nur_, weil Du in der Funktion
"foo = 'hello babe';", -> foo wird global
und nicht
"var foo = 'hello babe';" -> foo wäre lokal
^^^
definiert hattest.
Grüße,
Martin
Hallo Andy,
durch Scripte können z.B. in einem Frameset Variablen in einem
bestimmten Frame bzw. der betr. Datei erzeugt werden.
Die anderen Teile des Frameset können darauf zugreifen, und
die anderen Dateien des Frameset können dabei auch ersetzt werden.
Globaler gehts nicht so einfach ausser per Cookies.
Dazu gibt's noch einige Tricks wie Werteübergabe per loaction
oder Fenster mit bestimmten Namen usw.
Grüsse
Cyx23
Hallo Andy,
durch Scripte können z.B. in einem Frameset Variablen in einem
bestimmten Frame bzw. der betr. Datei erzeugt werden.
Die anderen Teile des Frameset können darauf zugreifen, und
die anderen Dateien des Frameset können dabei auch ersetzt werden.
Globaler gehts nicht so einfach ausser per Cookies.
Dazu gibt's noch einige Tricks wie Werteübergabe per loaction
oder Fenster mit bestimmten Namen usw.
Grüsse
Cyx23
Hi Cyx23,
habe mit window.name probiert, es läuft aber ich brauche den namen.
Was kann ich sonst benutzen ausser cookies.
Grüsse
N'Abend.
habe mit window.name probiert, es läuft aber ich brauche den namen.
Denn Fenster nehmen mußt du selbst mit JS vergeben,
z.B. onClick="window.name='SchönesFenster';"
Dieser Name bleibt dann erhalten und kann auch auf anderen Seiten (die ins gleiche Fenster geladen werden) abgefragt werden.
Gruß,
olli
Hallo!
Denn Fenster nehmen mußt du selbst mit JS vergeben,
z.B. onClick="window.name='SchönesFenster';"
Beachte aber, dass nur bestimmte Zeichen dafuer zulaessig sind, insbesondere Umlaute sind es nicht. Mehr dazu auf </selfaktuell/artikel/javascript/wertuebergabe/index.htm>.
So long
Hi Calocybe.
Denn Fenster nehmen mußt du selbst mit JS vergeben,
z.B. onClick="window.name='SchönesFenster';"
Beachte aber, dass nur bestimmte Zeichen dafuer zulaessig sind, insbesondere Umlaute sind es nicht. Mehr dazu auf </selfaktuell/artikel/javascript/wertuebergabe/index.htm>.
Das war zwar nur ein Beispiel, aber trotzdem vielen Dank für den Tipp.
Ich hatte das bis jetzt wirklich nicht beachtet und wahrscheinlich nur zufällig immer richtig gemacht...
Grüße,
olli
Hallo Andy,
Was kann ich sonst benutzen ausser cookies.
das mit der "Werteübergabe" reicht nicht ?
Wenn du nur eine Variable mit wenigen möglichen Inhalten
brauchst ginge evtl. noch der Pfad;
wie schaut das Problem eigentlich aus ?
Grüsse
Cyx23