Цитата(NNaarreekk @ 21.1.2009, 21:20 ) | | А что global someVar; не работает? |
Такой конструкции в языке нет.
Небольшой лекбез по поводу видимости переменных:- Любая объявленная вне функции переменная - глобальная
- Глобальные переменные видны из любого сценария, доступ к ней можно получить из любого окна
- Объявленная внутри тела функции переменная считается глобальной только в том случае, если она объявлена без помощи ключ. слова var
Небольшой примерчик:
| Код | var test = 'test 1'; test2 = 'test 2'; function myFunc() { var test3 = 'test 3'; test4 = 'test 4'; alert( 'Доступ к переменной: ' + typeof test ); alert( 'Доступ к глобальной переменной: ' + typeof test2 ); } myFunc(); alert( 'Доступ к локальной переменной: ' + typeof test3 ); // переменная локальная и доступ к ней напрямую не может быть осуществлен. alert( 'Доступ к глобальной переменной: ' + typeof test4 );
|
По поводу сабжа. Сам сейчас работаю с гугл-картами. У меня все прекрасно видит, правда у меня код не eval`ится. Возможно проблема в этом.
К глобальной переменной можно обратиться еще так: window[varName] - попробуй так!
P.S.: вот код, который работает у меня:
| Код | $( function() { // ссылка на контейнер с контекстным меню menu = $( '#menu' ); GEvent.addListener( gmaps.markers[0], 'click', function( evt ) { // ... // тут идет доступ к глобальной переменной menu.fadeOut( 'slow' ); // ... } ); } );
|
|