JS Variablen global verfügbar?

FabianLurz

Bekanntes Mitglied
Hallo Leute,
habe eine Grundsatz-Frage. Ich habe heute wieder an meinem JS-Programm weiter geschrieben und bin dann auf etwas gestoßen, was mich doch sehr verwirrt....
Und zwar habe ich zwei Dateien. Einmal Design.html und einmal Berechnungsroutine.js.
Code in Design.html
Java:
 <script type="text/javascript">      
jQuery.noConflict();
            var myArray=0;       
            jQuery.get("Daten.csv", function(daten) {
                myArray=daten.split("\n");   
            }); 
</script>
Und jetzt ist es wirklich merkwürdig (oder vllcht auch nicht mehr nach einer Erklärung). Diese Variable - myArray- steht mir auch in der Berechnungsroutine.js zur Verfügung! Ohne das ich dort irgendetwas inkludiert habe (man kann ja auch js dateien in js dateien inkludieren). Würde mich über Aufklärung freuen, da es nicht schön ist wenn man sich über sein eigenes Programm wundert:)
Danke
Gruß Fabian
 
N

nillehammer

Gast
Die Deklaration der Variable erfolgt außerhalb eines Methodenkontexts, damit ist sie global.
 

FabianLurz

Bekanntes Mitglied
Ok krass das wusste ich nicht....dachte, dass man mit JS nicht vererben kann (bin mir jetzt nicht sicher ob das der richtige Ausdruck ist)... Jedenfalls weiß ich z.B. in Java ist es egal wo man die Variable deklariert...dachte aber, dass es in JS nicht so ist.
 

Evil-Devil

Top Contributor
Vererben kann man in JS wirklich nicht, auch wenn die Prototypen Verwaltung ähnlich ist.

Um Variablen nicht Global zu halten, benötigst du einen Scope. Dazu gibt es im Netz einiges an Literatur und die kann ich dir bei besten Gewissen empfehlen :)
 

Oben