Сделать переменную Javascript глобальной с помощью MooTools
-
07-07-2019 - |
Вопрос
В настоящее время я использую mootools-1.2.3, и у меня возникают проблемы с получением переменной, доступной вне функции.
Мне нужно определить переменную в функции domready, потому что в противном случае DOM не был загружен, и функции селектора не будут работать (я не могу поместить скрипт в конец HTML-кода, над которым у меня нет контроля когда фреймворк пишет ссылки на внешние скрипты).
Есть ли ссылка на ту же переменную в другой функции?
window.addEvent('domready', function() {
var myVar = new myClass('someURL', 'elementSelectorString');
document.addEvent('click', function(event) {
myVar.doSomeStuff(var1, var2);
});
});
window.addEvent('unload', function(event) {
// Reference to myVar variable in domready function.
myVar.cleanUpStuff();
});
Решение
Поместите var myVar;
на верхний уровень (над addEvents) и удалите var
из функции domready. Переменные видны внутри области, в которой они объявлены.
Другие советы
глобальные переменные на самом деле являются свойствами объекта окна, поэтому вы можете использовать:
window.myVar
Просто определите myVar без ключевого слова var
. Отсутствие var
во время назначения подразумевает глобальный характер.
window.addEvent('domready', function() {
myVar = new myClass('someURL', 'elementSelectorString');