2010-10-26 18 views
8

Zdefiniowałem zmienną w jednym z moich plików JavaScript. Chcę uzyskać dostęp do wartości tej zmiennej wśród plików JavaScript. W jednym pliku inicjuję wartość tej zmiennej.Javascript: Zakres zmiennej między różnymi plikami JavaScript

Nie mogę uzyskać dostępu do przypisanej wartości w innych plikach JS.

Czy jest coś, czego mi brakuje?

+0

można pokazać nam jak to oświadczył? i gdzie dokładnie –

Odpowiedz

9

Powinieneś być w stanie uzyskać do nich dostęp, jeśli są one w zasięgu globalnym lub można uzyskać do nich dostęp z globalnego zakresu.

Na przykład, mam literał obiektu jak to w moim HTML w elemencie script ...

<script type="text/javascript"> 
    var config = { 
     basePath: '/path/' 
    }; 
</script> 

Jakie mam dostępu w każdym innym późniejszym pliku JavaScript z config.basePath.

+0

Czy może to być oddzielny plik js? Próbowałem tego i nie mogę sprawić, żeby działało. Otrzymuję, Uncaught ReferenceError: config nie jest zdefiniowany – diek

+0

@diek Musisz zbadać zakresy JS, ale tak, możliwe jest bycie w innym pliku. – alex

+0

hej alex, dzięki, że faktycznie poszedłem z innym podejściem. Ale też dostałem twoje do pracy. – diek

8

Musi to być zmienna globalna lub dostępna w tym samym zakresie (np. Własność na czymś innym, która jest globalna) i musi być zdefiniowana jako przed uzyskaniem dostępu do niej pod numerem, co oznacza, że ​​kolejność skryptu obejmuje sprawy.

Nie może na przykład mieć to w jednym pliku:

(function() { 
    var something = "blah"; 
})(); 

... i dostęp go w następnym pliku, ponieważ zmienna jest zawężona do tej funkcji.

6

również zdefiniowana raz globalnie, może być konieczne do dostępu do niego za pośrednictwem obiektu window tak: window.your_variable lub okno [ „your_variable”]