【发布时间】:2015-05-03 12:16:49
【问题描述】:
在下划线、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)); };
后者的性能要好得多。
【问题讨论】:
-
简洁明了。如果您受到性能的严格限制 - 无论如何,您更喜欢速度而不是“可读性”。
-
我看不出你如何比较这两者......
-
c为每个 (?) 输入生成相同的结果。为什么你认为它没有可比性?
标签: javascript functional-programming