Получить параметр функции из родительской функции - PullRequest
4 голосов
/ 10 декабря 2011

У меня есть вызов функции в моем скрипте, который содержит вызов функции обратного вызова при вызове fadeOut.Я пытаюсь передать параметр функции pare not в функцию обратного вызова, но не могу заставить его работать.

Общая структура скрипта:

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

Вызов выполнен правильно, но переменная не передана.Это, вероятно, проблема с областью видимости для переменной, но я не совсем понимаю концепцию здесь.

Ответы [ 2 ]

6 голосов
/ 10 декабря 2011

Этот код

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

правильный, как написано.Ваша внутренняя функция и любые другие функции, которые вы объявляете, автоматически имеют доступ ко всем переменным в содержащей области.Функция, которую вы передаете в fadeOut, сформирует замыкание через aVar и продолжит получать к ней доступ даже после того, как функция aFunction давно вернулась.

0 голосов
/ 10 декабря 2011

Вы можете сохранить его в локальной переменной:

function aFunction(aVar){
    var new_var = aVar;
    anElement.fadeOut(200, function(){
             someFunctionCall(new_var);
     });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...