Mam funkcję, która akceptuje dowolną liczbę i rodzaj argumentów, więc nie określono żadnego konkretnego parametru. Ta funkcja powinna wywołać inną funkcję przekazującą wszystkie argumenty.Jak przekazać wszystkie argumenty jako kolekcję do innej funkcji, a nie jako pojedynczy argument?
Problem polega na tym, że mogę przekazywać "argumenty" w celu uwzględnienia wszystkich argumentów, ale w tym przypadku będzie to działać jak pojedynczy argument, a nie sposób, w jaki spodziewamy się, że argumenty będą działały.
Przykład:
Główną funkcją:
function handleCall() {
// let's call a sub-function
// and pass all arguments (my question is how this is handled the right way)
function callSubFunction(arguments);
}
function callSubfunction(userid, customerid, param) {
// passed arguments are now
alert('userid = ' + userid);
// this will not work, you have to use arguments[2]
alert(param);
}
The example call:
handleCall(1029, 232, 'param01');
Stosując metodę powyżej, wszystkie argumenty będą przechowywane w „id_uzytkownika” pseudo-macierzy i elementy mogą być na przykład dostępne argumenty [2], ale nie używają nazwy parametru "param".
W ColdFusion rozwiązaniem dla takich rzeczy jest parametr "argumentCollection", w ten sposób można przekazać parametry przechowywane w strukturze bez konwersji do pojedynczego argumentu z typem struct zawierającym wszystkie klucze/wartości.
Jak mogę osiągnąć to samo z JavaScript?