我现在正在使用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之上),然后从domready函数中删除 var 。变量在声明它们的范围内可见。

其他提示

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

window.myVar

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

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top