1. 函数式编程:
高阶函数操作函数的函数,接收一个或多个函数做为参数,并返回一个新函数;
function not (f) {
return function () {
var result = f.call(this,arguments);
return !result;
}
}
var even = function (x) {
return x%2 ===0;
}
var odd = not(even);
[1, 1, 3, 5].every(odd); // ture
高阶函数看起来像是对函数的一种组合,把大而全的函数方法,拆分成各个小的片段,使用时在进行组合,能精细的控制代码大小;
不完全函数:与高阶函数功能相反,是把一次函数调用拆分成多次,每次传入实参都是都是部分完整实参的一部分,有种分发的思想:
f(1, 2, 3, 4, 5, 6) ==> f(1, 2)(3, 4)(5, 6);
类似递归的解决思路
记忆:把上一次的计算结果缓存起来
网友评论