从父函数中检索函数参数

时间:2011-12-10 04:04:11

标签: javascript jquery object scope

我的脚本中有一个函数调用,它包含一个fadeOut调用的回调函数调用。我正在尝试将paren't函数参数传递给回调函数,但我似乎无法让它工作。

一般脚本结构是:

function aFunction(aVar){
    anElement.fadeOut(200, function(){
        someFunctionCall(aVar);
    });
}

正确执行调用,但未传递变量。这可能是变量的范围问题,但我不太明白这里的概念。

2 个答案:

答案 0 :(得分:6)

此代码

function aFunction(aVar){
    anElement.fadeOut(200, function(){
        someFunctionCall(aVar);
    });
}

写得正确。您的内部函数以及您声明的任何其他函数自动可以访问包含范围中的所有变量。您传递给fadeOut的函数将在aVar上形成闭包,并且即使在函数返回很久之后仍然可以继续访问它。

答案 1 :(得分:-1)

您可以将其存储在本地变量中:

function aFunction(aVar){
    var new_var = aVar;
    anElement.fadeOut(200, function(){
             someFunctionCall(new_var);
     });
}