Композиция функций в JavaScript
В чем преимущество реализации композиции функций в библиотеках, таких как underscore, lo-dash и других, похожих на этот:
var compose = function() {
var funcs = arguments;
return function() {
var args = arguments;
for (var i = funcs.length; i --> 0;) {
args = [funcs[i].apply(this, args)];
}
return args[0];
}
};
var c = compose(trim, capitalize);
по сравнению с этим:
var c = function (x) { return capitalize(trim(x)); };
Последний гораздо более производительный.