Неизвестное количество аргументов Javascript

в своем проекте, я регистрирую разные функции (с разным количеством аргументов) в качестве слушателей ряда событий. Когда событие происходит, мне нужно запустить связанную функцию. Я получаю параметры, которые нужно передать методу слушателя в виде массива, тогда как функция слушателя ожидает каждый отдельный аргумент. Итак, я делаю это так, но мне не нравится этот подход, и я хотел бы знать, есть ли элегантный способ сделать это,

function callListenerWithArgs(func, args){
        switch(args.length){
            case 1:
                func(args[0]);
                break;
            case 2:
                func(args[0], args[1]);
                break;
            case 3:
                func(args[0], args[1], args[2]);
                break;
            case 4:
                func(args[0], args[1], args[2], args[3]);
                break;
            default:
                func();
        }
    }
6
задан Naftali aka Neal 22 June 2011 в 15:25
поделиться