Function.prototype.partial = function(){
var fn = this, args = Array.prototype.slice.call(arguments);
return function(){
var arg = 0;
for ( var i = 0; i < args.length && arg < arguments.length; i++ )
if ( args[i] == undefined )
args[i] = arguments[arg++];
return fn.apply(this, args);
};
};
// Y UN EJEMPLO DE USO
String.prototype.csv = String.prototype.split.partial(/,\s*/);
var results = "John, Resig, Boston".csv();
alert( results[1] ); // IMPRIMIRIA "Resig"
Con esto, es sencillo crear funciones nuevas a partir de las existentes. Existen en el artículo otras técnicas que amplían aún más la funcionalidad (como por ejemplo el rellenar automáticamente los parámetros que no se especifiquen).
16 marzo, 2008
Funciones `parciales´ con Javascript
En este artículo de John Resig se explica cómo crear funciones parciales, que son aquellas derivadas de otras existentes pero que tienen predefinido ya uno o varios argumentos al ser llamadas.
La función definida sobre el prototipo de Function que permite crear dichas funciones sería la siguiente:
No hay comentarios:
Publicar un comentario