使用MooTools使Javascript变量全局变量

时间:2009-09-15 15:03:07

标签: javascript class scope css-selectors mootools

我现在正在使用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();
});

3 个答案:

答案 0 :(得分:4)

var myVar;放在顶层(在addEvents之上),然后从domready函数中删除var。变量在声明它们的范围内可见。

答案 1 :(得分:2)

全局变量实际上是窗口对象的属性,因此您可以使用:

window.myVar

答案 2 :(得分:0)

只需在没有var关键字的情况下定义myVar即可。赋值期间缺少var意味着全局。

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');