Можно ли вызвать функцию JavaScript, используя массив значений в качестве аргументов? - PullRequest
2 голосов
/ 15 апреля 2010

Я ищу другой способ сделать следующее:

function call_any_function(func, parameters){
    // func => any given function
    if(parameters.length==0){ func(); }    
    if(parameters.length==1){ func(parameters[0]); }    
    if(parameters.length==2){ func(parameters[0], parameters[1]); }    
    if(parameters.length==3){ func(parameters[0], parameters[1], parameters[2]); }    
    if(parameters.length==4){ func(parameters[0], parameters[1], parameters[2], parameters[3]); }
    // ... and so on
};

Это кажется базовым, но я не смог найти ответ.

Есть идеи?

1 Ответ

6 голосов
/ 15 апреля 2010

О, да:

func.apply({}, parameters)

первый параметр - это то, что вы хотите, чтобы this был внутри функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...