wenn ich in einem JavaScript eine Variable deklariere und setze (z. B. var test = „Haus“, wo kann dann auf diese Variable zugegriffen werden? Erstreckt sich der Scope auch auf importierte Javascripte ( … ) und auf an anderer Stelle eingebundene Scripte?
Wenn ja: wo hört das auf? Ist der Scope URL-weit oder Domain-weit?
Die ergoogelbaren Erklärungen erklären immer nur den Scope innerhalb und außerhalb von Funktionen, nicht aber wie das mit mehreren Scripten auf EINER Seite ist.
wenn ich in einem JavaScript eine Variable deklariere und
setze (z. B. var test =
„Haus“, wo kann dann auf diese Variable zugegriffen
werden?
in diesem Fall ist var test global = hierauf kann jederzeit zugegriffen werden von allem was von wo und wie an javascript danach geladen wird
gobale vars können auch in externen script deklariert werden
wird eine var innerhalb einer function deklariert ist sie lokal = nur innerhalb der function gültig
danke Dir für Deine Hilfe. Das heißt also, daß auf einer geladenen Seite alle JavaScripte auf alle globalen Variablen zugreifen können, egal wie fragmentiert sie eingebunden sind, egal ob aus externer .js-Datei nachgeladen oder in der Seite implementiert. Richtig?
setze (z. B. var test =
„Haus“, wo kann dann auf diese Variable zugegriffen
werden?
in diesem Fall ist var test global = hierauf kann jederzeit
zugegriffen werden von allem was von wo und wie an javascript
danach geladen wird
gobale vars können auch in externen script deklariert werden
Heißt das dann auch, wenn in einem Browser in einem Tab ein JavaScript läuft, kann dieses auch auf die globalen Variablen von JavaScripten in anderen Tabs zugreifen?
Heißt das dann auch, wenn in einem Browser in einem Tab ein
JavaScript läuft, kann dieses auch auf die globalen Variablen
von JavaScripten in anderen Tabs zugreifen?
NEIN!!
JS läuft als Sandbox und jeder Tab/jedes Fenster ist ein eigener Prozess.
Ebenso gilt SOP (same origing policy) = jede js-Anfrage läuft nur innerhalb der gleichen Herkunft (Protokoll,Port und Domain der URL) … eigentlich nur bei ajax zu beachten.
Ausnahme ist die src-Anweisung, in der man scripts von überall laden kann.
Variablen-Scope nur innerhalb des Tabs
Hallo Nitya,
… jeder Tab/jedes Fenster ist ein eigener Prozess.
Genau das hatte ich wissen wollen. Vielen Dank. Selbst jetzt, wo Du mich aufgeklärt hast, und ich weiß, wonach ich suchen muß, habe ich diese Information in keinem Werk gefunden, weder online noch gedruckt (einschl. dreier dicker JavaScript-Bücher).
Ebenso gilt SOP (same origing policy) = jede js-Anfrage läuft
nur innerhalb der gleichen Herkunft (Protokoll,Port und Domain
der URL) … eigentlich nur bei ajax zu beachten.
Ausnahme ist die src-Anweisung, in der man scripts von überall
laden kann.
Prima. Das sind wirklich sehr hilfreiche Informationen.