- 数组
- [1, 1, 3, 5, 5].reduce(function(x, y){ return x + y;})
- [1, 4, 9].map(function(num){return num * 2;})
- 高阶函数(higher-order function)
- 操作函数的函数, 接收函数作为参数, 返回函数
- 不完全函数(partial function)
- 一次调用拆成多次调用,每次调用返回一个函数,如f(1,2)(3,4)(5,6)
- 每次调用叫做不完全调用(partial application)
- 一次调用拆成多次调用,每次调用返回一个函数,如f(1,2)(3,4)(5,6)
- 不变式
- 循环不变式
- 用于形式化证明正确性
- 描述
- 有循环变量
- 算法初始、保持、终止时, 某特性不变, 如选择排序中, arr[0,…,j-1]一直有序
- 类(或数据类型)不变式
- 并发时, 不变的成员关系
- 如, 并发临界区(同时只能一个线程占用)
- 并发时, 不变的成员关系
- 循环不变式
- cps(continuation passing style)
- 传入处理函数, 处理函数中传处理函数
- curry
- f(1,2,3)改写成f(1).f(2).f(3)
- thunk
- 触发函数, 如 f(){_f(1)}