Función con parámetros variables en Javascript

06/Sep/2010 JavaScript , , 1 Comentario
Ejemplos Programación en Javascript

Una función, en toda su definición básica tiene varias partes: nombre, parámetros y el cuerpo.

function nombre(param1, param2,..., paramN){
 ...
}

Como podemos ver, todo y cada uno de los parámetros que le pasamos están bien definidos como argumentos. Pero en Javascript tenemos la posibilidad de que los parámetros de la función sean variables, es decir, que podamos invocarla con más o menos parámetros, con unos u otros parámetros, dependiendo de la situación.

La idea sería poder tener las siguientes invocaciones de la función:

calculardatos(1);
calculardatos(1,4,6);
calculardatos(1,4,6,8);

Como vemos, la cantidad de números varía en cada invocación. Incluso podríamos realizar la siguiente invocación:

calculardatos(1,"texto",true);

En este caso estamos invocando con parámetros de diferente tipo: entero, cadena y booleano.

Un caso de uso es cuando queramos realizar validaciones sobre una estructura de datos sobre la cual el usuario puede añadir mas o menos registros. Por ejemplo, un formulario al cual vamos añadiendo más campos de forma dinámica.

Pero vamos a ver como codificar la función. Para poder tener parámetros variables nos apoyamos en el elemento arguments. Toda función tiene un objeto arguments el cual representa un array com los valores de los argumentos los cuales fueron pasados en la invocación.

Así, una función que simplemente listase los parámetros que se le han pasado como argumentos sería la siguiente:

function calculardatos (){
  document.write("Invocación recibida" + "
"); for (x=0;x"); }

Una vez controlado el objeto arguments, las posibilidades son infinitas.

¿Qué caso de uso se te ocurre para codificar una función con parámetros variables?

Vídeos sobre Javascript


Un comentario en “Función con parámetros variables en Javascript”

Víctor Cuervo

cesar

hola buenas tardes, tengo la siguiente inquietud, por una necesidad o necedad ocupo que esta función:
function cargarSelect(number){
$(«#Unidades»+number).on(‘change’, function () {
$(«#Unidades»+number+» option:selected»).each(function(){
var cadenaCCT = $(this).val();
$.post(«cargarPersonal.php»,{cadenaCCT:cadenaCCT},function(data) {
$(«#Personal»+number).html(data);

});
});
});
};

Vaya cambiando de nombre de hecho seria el mismo valor que trae en el atributo, lo que no se es como hacer para que al momento de crear la funcion, se le «peque» el numero correspondiente, para que quedara algo así:
function cargarSelect1(number){} function cargarSelect2(number){} function cargarSelect3(number){} function cargarSelect4(number){} etc..

Saludos

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.