Duplicar posible:
Is it possible to send a variable number of arguments to a JavaScript function?Pasando número variable de argumentos de una función a otra
puedo usar arguments
para obtener un número variable de argumentos dentro de una función, pero ¿cómo puedo pasarlos a otra función sin conocer su prototipo?
function show(foo, bar) { window.alert(foo+' '+bar); }
function run(f) { f(arguments); } // not correct, what to do?
run(show, 'foo', 'bar');
Nota: No puedo garantizar que el número de argumentos necesarios para la función f
que se pasa a run
. Es decir, a pesar de que el ejemplo mostrado tiene 2 argumentos, podría ser 0-infinito, por lo que el siguiente no es apropiada:
function run(f) { f(arguments[1], arguments[2]); }
no estoy de acuerdo, como se puede ver, 'show' ha definido argumentos, que no utiliza' arguments'. Ya he intentado 'aplicar' de esa manera sin suerte. – steveo225
Bueno, como habrás notado hasta ahora, 'apply' es la única forma de hacerlo, por lo tanto * es * un duplicado. –
Sí, excepto que la forma en que 'arguments' se utilizó fue completamente diferente y, en última instancia, el objetivo de la pregunta. – steveo225