Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   передача функции в качестве параметра (https://javascript.ru/forum/misc/32314-peredacha-funkcii-v-kachestve-parametra.html)

virus-07 11.10.2012 11:04

передача функции в качестве параметра
 
Поиск использовал, подходящего для себя ответа не нашел.

Имею две функции:

function general(a, b){
    var total = a + b;
    if(total>50){
        /* do smth */
    }
}

function gUser(){
    var first_value = 5;
    var second value = 6;
    general(first_value, second value);
}


Т.е. есть общая (general) функция и функция-пользователь (gUser).
gUser собирает данные и отправляет на обработку.
Косяк возникает, когда пользователей (gUser) становится несколько, а код после условия (if(total>50)) нужно выполнять разный.
Если не затруднит, покажите примером, как я могу, например, присвоить переменной произвольную функцию и запустить её в случае выполнения условия в general().
Объяснил, вроде, доступно.

Dmitriyff 11.10.2012 12:33

function general(a, b, do_smth){
    var total = a + b;
    if(total>50){
        do_smth();
    }
}

function gUser1(){
    var first_value = 5;
    var second value = 6;

    general(first_value, second value, function() {
          // do smth
    });
}

function gUser2(){
    var first_value = 5;
    var second value = 6;

     general(first_value, second value, function() {
          // do smth else
     });
}

Dmitriyff 11.10.2012 12:36

Цитата:

Сообщение от virus-07
присвоить переменной произвольную функцию и запустить её в случае выполнения условия в general().

var do_smth = function() {          
  // do smth else
};

general(first_value, second value, do_smth);

virus-07 11.10.2012 12:50

Dmitriyff, спасибо за конструкцию.
плюсанул )


Часовой пояс GMT +3, время: 08:33.