Tengo una función que acepta cualquier número y tipo de argumentos, por lo que no se ha definido ningún parámetro específico. Esta función debería llamar a otra función pasando todos los argumentos.¿Cómo pasar todos los argumentos como colección a otra función y no como un solo argumento?
El problema es que puedo pasar "argumentos" para incluir todos los argumentos, pero en este caso funcionará como un único argumento y no de la manera en que esperamos que funcionen los argumentos.
Un ejemplo:
La función principal:
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');
Usando el enfoque anterior, se almacenará todos los argumentos en "identificador de usuario" como pseudo-array y los artículos se puede acceder, por ejemplo, argumentos [2] pero no usa el nombre del parámetro "param".
En ColdFusion, la solución para tales cosas es el parámetro "argumentCollection", de esta manera puede pasar parámetros almacenados en una estructura sin convertirlos en un solo argumento con la estructura tipo que contiene todas las claves/valores.
¿Cómo puedo lograr lo mismo con JavaScript?