纯函数
解释:
- 一个函数对于给定一个参数的返回值是固定的。
- 函数不会对外部造成影响
具有的优点
- 可测试性,即当测试值出现改变时,函数不会因为值的改变而失效
- 可缓存性,可以节约一定的计算资源(因为对于一个参数,他的返回值也一定是不变的)
- 可移植性,可以移植到任何地方
高阶函数
解释
- 函数的参数或返回值,是一个函数类型的对象,函数可以以变量,参数,返回值的方式引用或返回函数。
例如:apply 间接调用函数
函数柯里化
解释
- 将接收的所有参数变成单一参数的函数,并且返回接收余下参数返回结果的新函数
优点: - 参数复用,当调用函数的第一个参数是一样的,并且多次调用,可以将它变成一个变量方式,这样只需要后面的括号改变参数就行,实现首参数的复用
- 提前确认,可以做一些第二次调用函数前的一些预处理或预判断。
- 延迟执行,可以通过这种方式改变this的指向,如bind函数通过首个参数传递地对象不同,改变this指向,并且返回一个接受余下参数的方法