-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path02-research
40 lines (33 loc) · 1.48 KB
/
02-research
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
17.关于函数科里化
http://www.zhangxinxu.com/wordpress/2013/02/js-currying/
https://github.com/lodash/lodash/wiki/FP-Guide
https://segmentfault.com/a/1190000005760112
https://segmentfault.com/a/1190000005046900
var currying = function(fn) {
// fn 指官员消化老婆的手段
var args = [].slice.call(arguments, 1);
// args 指的是那个合法老婆
return function() {
// 已经有的老婆和新搞定的老婆们合成一体,方便控制
var newArgs = args.concat([].slice.call(arguments));
// 这些老婆们用 fn 这个手段消化利用,完成韦小宝前辈的壮举并返回
return fn.apply(null, newArgs);
};
};
// 下为官员如何搞定7个老婆的测试
// 获得合法老婆
var getWife = currying(function() {
var allWife = [].slice.call(arguments);
// allwife 就是所有的老婆的,包括暗渡陈仓进来的老婆
console.log(allWife.join(";"));
}, "合法老婆");
// 获得其他6个老婆
getWife("大老婆","小老婆","俏老婆","刁蛮老婆","乖老婆","送上门老婆");
// 换一批老婆
getWife("超越韦小宝的老婆");
柯里化有3个常见作用:1. 参数复用;2. 提前返回;3. 延迟计算/运行。
18.面向对象的 封装 继承 多态
19.关于语法糖的理解
20.FP和FRP RP
https://github.com/lodash/lodash/wiki/FP-Guide
https://segmentfault.com/a/1190000005870226