variable valores una referencia por pasar parametros otra funcion envio desde dentro arreglos javascript

una - pasar valores a javascript



Pasar el número variable de argumentos de una función a otra (4)

De hecho, puede hacer esto con aplicar, si entiendo su pregunta correctamente:

function show(foo, bar) { window.alert(foo+'' ''+bar); } function run(f, args) { f.apply(null,args); } run(show, [''foo'', ''bar'']);

Posible duplicado:
¿Es posible enviar un número variable de argumentos a una función de JavaScript?

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 saber 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 el número de argumentos necesarios para la función f que se pasa a run . Es decir, aunque el ejemplo que se muestra tiene 2 argumentos, podría ser 0-infinito, por lo que lo siguiente no es apropiado:

function run(f) { f(arguments[1], arguments[2]); }


En tu ejemplo para pasar argumentos variables para mostrar esto funciona

function show(foo, bar) { window.alert(foo+'' ''+bar); } function run(f) { f.apply(null, Array().slice.call(arguments, 1)); } run(show, ''foo'', ''bar'');


La forma principal de pasar un conjunto de argumentos generados mediante programación a una función es mediante el uso del método ''aplicar'' de la función.

function show(foo, bar) { window.alert(foo+'' ''+bar); } function run(f) { // use splice to get all the arguments after ''f'' var args = Array.prototype.splice.call(arguments, 1); f.apply(null, args); } run(show, ''foo'', ''bar'');


necesitas usar la función de aplicación ... aquí es cómo lo haces:

function variableFunction1() { alert("variableFunction1 arguments length: " + arguments.length); // calls second varargs function keeping current ''this''. variableFunction2.apply(this, arguments); } function variableFunction2() { alert("variableFunction2 arguments length: " + arguments.length); } variableFunction1(''a'',''b'',''c'');

Demo