# JS Variablen global verfügbar?



## FabianLurz (23. Apr 2012)

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

```
<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


----------



## nillehammer (23. Apr 2012)

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


----------



## FabianLurz (23. Apr 2012)

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 (23. Apr 2012)

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


----------

