![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
函数式编程
The Dark Kinght
一天天的都不知道自己在干嘛
展开
-
纯函数的好处
纯函数的定义通俗点说就是:固定的输入,得到固定的输出,不受到来自外部的任何干扰 纯函数不会随着执行次数的增加而改变输出的值,比如数组中的splice和slice,其中splice不是纯函数,而slice则为定义的纯函数,示例如下: var xs = [1,2,3,4,5]; // 纯函数 xs.slice(0,3); //=> [1,2,3] xs.slice(0,3); //=> [1,2,3] xs.slice(0,3); //=> [1,2,3] // 不是纯函数 xs..原创 2020-06-28 15:17:02 · 360 阅读 · 0 评论 -
一等公民的函数
所谓的“一等公民”,指的是函数与其他的数据类型可以同等对待,如存入数组,作为参数等等。。 先看个例子: const hi = name => `Hi ${name}`; const greeting = name => hi(name); 这里的对hi这个函数又给与了重新的传参操作,其实大可不必如此,因为hi已经被函数定义过了,在函数编程的思维中,它是个变量,与其他的熟知的变量一样,可以被临时赋值,所以在这里我们可以将该代码简化为 const hi = name => `Hi原创 2020-06-28 10:40:43 · 374 阅读 · 1 评论 -
函数式编程学习(总览)
高阶函数 个人理解就是将函数作为参数的嵌套函数编写方式,这样写的好处是逻辑会变的很清晰。 Currying(柯里化) 从书从直观的感受就是将一个大函数分解为多个函数共同处理的方式,目的是为了减少函数参数的数量,快速封装函数。例: int pow(int i, int j); int square(int i) { return pow(i, 2); } 惰性求值 在函数式编程的大环境下,代码块是可以并发执行的,但有时候不需要并发执行,甚至于有时候只需要并发程序中的一个或者两个执行就行了原创 2020-06-28 10:04:38 · 119 阅读 · 0 评论