можно ли как то вызвать функцию, подставив в название функции переменную

187
14 июля 2018, 23:00

прошу научить

Есть AJAX код, который работает. При возврате ответа, разбираю результат, и в соответствии с результатом я вызываю опр. функцию. Все вроде ничего, но если функций более 20ти, то ELSE IF в коде становиться слишком много

Вопрос: можно ли как то вызвать функцию, подставив в название функции переменную?

$.ajax({
    type:"POST",
    url:"",
    data:myJson,
    success:function(html){
        myReturn=JSON.parse(html);
        if(myReturn.status=="ok"){
            if(myReturn.router=="fx1"){
                function_fx1(myReturn.data);
            }else if(myReturn.router=="fx2"){
                function_fx2(myReturn.data);
            }else if(myReturn.router=="fx3"){
                function_fx3(myReturn.data);
            }else{
            }
         }
     }
})
Answer 1

var functionHolder = { 
  fx1: function(){ console.log("inside fx1"); }, 
  fx2: function(){ console.log("inside fx2"); }, 
  fx3: function(){ console.log("inside fx3"); } 
}; 
 
var router = "fx2"; 
functionHolder[router]();

READ ALSO
Как зашифровать файл методом RSA

Как зашифровать файл методом RSA

Подскажите пожалуйста Я как новичок в этом деле, хочу попробовать зашифровать файл методом RSAНо не знаю с чего начать

209
Дни недели в C#

Дни недели в C#

Как зная сегодняшнюю дату, узнать даты всех дней этой недели в c#? Также требуется получить даты всех дней месяца

186
Реализация фильтра в ListView - C#

Реализация фильтра в ListView - C#

Есть ListView, в который заносятся координаты точек (x1;y1)Нужно сделать фильтр, отсеивающий повторяющиеся точки, которые уже есть в ListView (отмечены...

259
Из DataGridView в List

Из DataGridView в List

Всем привет :)

214