w moim projekcie rejestruję różne funkcje (o różnej liczbie argumentów) jako słuchaczy szeregu zdarzeń. Kiedy zdarzenie ma miejsce, muszę odpalić powiązaną funkcję. Otrzymuję parametry, które należy przekazać do metody detektora w postaci tablicy, podczas gdy funkcja detektora oczekuje każdego oddzielnego argumentu. Tak, robię to w ten sposób, ale nie podoba mi się podejście i chciałbym wiedzieć, czy istnieje elegancki sposób to zrobić,JavaScript nieznana liczba argumentów
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();
}
}
Dziękuję wszystkim. fun.apply robi dokładnie to, czego potrzebowałem. Jest prosty i słodki :) i precyzyjnie rozwiązuje mój problem. – Nutty