Pasar una función como parámetro en #javascript

Para los que aprendimos un lenguaje Orientado a Objetos antes que javascript algunas veces desconocemos la naturaleza dinámica de este lenguaje, y una de las cosas naturales es poder guardar una función en  una variable e igual enviarse esa función como parámetro.

Existen dos formas de hacerlo y la primera es haciendo una función anónima:


//creamos una función que recorre una lista
function recorreLista(funcionPasadaXParametro){

	//recorremos el arreglo/lista
	//utilizamos la palabra reservada this para referirnos al objeto que es dueño de este metodo.
	for(i=0;i<this.length;i++){

		//ejecutamos la función pasada como parametro, la cual se le envia el elemento actual
		funcionPasadaXParametro(this[i]);
	}

}

//creamos arreglo
arreglo=new Array(1,3,4,5);
//asignamos la funcion al metodo recorre
arreglo.recorre=recorreLista;

//ejecutamos la función pasandole una función anonima
arreglo.recorre(
				//FORMA 1 para pasar una función como paramétro
				//creamos la función anonima
				function(elemento){

					//mostramos el elemento actual
					alert(elemento)
				}
);

La segunda forma de pasar una función como parámetro, es pasando una función existente.


//creamos una función la cual enviaremos
function multiplicaX10(elemento){
	alert(elemento*10);
}

//FORMA 2 para pasar una función como parametro
arreglo.recorre(multiplicaX10);

Nota: Recuerden no poner los paréntesis cuando se pasa una función ya existente como parámetro, el hecho de poner los paréntesis ejecuta la función.

mm

About

Desarrollador de software, lector compulsivo.

View all posts by

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *