减少代码重复 所有的函数都被分割成通用部分,它们在每次函数调用中都相同,以及非通用部分,在不同的函 数调用中可能会变化.通用部分是函数体,而非通用部分必须由参数提供.当你把函数值用做参数时,算法的非通用部分就是它代表的某些其它算法.在这种函数的每一次调用中,你都可以把不同的函数值作为参数传入,于是被调用函数将在每次选用参数的时候调用传入的函数值.这种高阶函数:higher-order function——带其它函数做参数的函数——给了你额外的机会去组织和简化代码. 高阶函数的一个好处是它们能让你…