函数式编程 ---拉钩yyds
文章平均质量分 82
js 函数式编程总结笔记
WJP丶
好好学习,好好工作
展开
-
javascript函数式编程--------总结
总结到这里函数式编程我们就讲完了,下面我们来总结一下,整个函数式编程我们分为四个部分。认识函数式编程也就是函数式编程的概念。函数式编程是一种编程范式,或者说编程思想,他和面向对象编程是同一级别的,我们想要掌握一门编程思想是需要花费很长时间的,我们可以把我们掌握的直接在工作中运用,不需要把所有东西都用函数式来写,因为这看起来太困难了。函数式编程的核心思想是,把运算过程进行抽象成函数,在编程的过程中是面向函数进行编程的。现在我们要学习函数式编程是因为像vue或者react,他们内部都已经使用原创 2021-05-30 18:45:45 · 95 阅读 · 0 评论 -
javascript函数式编程-------函子(Functor)
我们知道,函数式编程是建立在数学思想上的,比如说我们的纯函数其实就是数学中的函数,那我们要学习的函子也是建立在数学的基础上。那我们在学习函数式编程的过程中还是没有学习如何去控制副作用,因为副作用可以让我们函数变得不纯,虽然副作用不好,但是我们又没有办法完全避免,所以我们应该尽可能的把副作用控制在可控的范围内。我们可以通过函子来控制副作用,当然除了这个之外我们还可以通过函子去控制异常,来进行异步操作等等。Functor(函子)在了解函子之前我们先来说一下容器,容器包含值和值的变形关系,变形关系原创 2021-05-29 23:28:57 · 433 阅读 · 0 评论 -
javascript函数式编程-------函数组合
函数组合函数组合的概念: 如果一个函数要经过多个函数处理才能得到最终的值,这个时候我们可以把中间这些过程函数合并成一个新的函数。函数就像是数据的管道,函数组合就是把这些管道连接起来,让数据穿过多个管道形成最终结果函数组合默认是从右到左执行进行函数组合时尽量使用只要一个参数的纯函数基本的函数组合我们在使用纯函数和柯里化时很容易写出洋葱代码,h(g(f(x))),也就是一层包一层的代码,比如我们要获取数组的最后一个元素,然后在转换成大写字母。先调用数组对象的reverse方法反转原创 2021-05-29 11:35:31 · 290 阅读 · 0 评论 -
javascript函数式编程-------柯里化
接下来看函数式编程中另一个重要概念-----柯里化柯里化承接上文,副作用让checkAge函数变成不纯的函数,接下来我们把不纯的函数改造成纯函数。很简单,把mini变量 放到函数内部,变成局部变量那他就变成一个纯的函数了function checkAge (age) { //纯的,存在硬编码 let mini = 18; return age >= mini;};checkAge(20); // truemini = 28;checkAge(20); //原创 2021-05-23 18:19:43 · 173 阅读 · 0 评论 -
javascript函数式编程-------纯函数
前面回顾了函数是一等公民,高阶函数,闭包这些函数相关概念,可以认为它们都是函数式编程的基础。接下来学习函数式编程第一个重要概念,也是函数式编程的核心---纯函数纯函数函数式编程中的函数,指的就是纯函数,纯函数的概念就是对于一个函数来说,使用相同的输入始终会得到相同的输出,而且没有可观察到的副作用。关于副作用我们后面在解释。这里我们只讨论相同的输入始终会得到相同的输出。纯函数其实就是数学中函数的概念,他是用来描述输入和输出的映射关系。比如 y=f(x);我们这里通过数组的两个方法sl.原创 2021-05-23 15:44:39 · 209 阅读 · 0 评论 -
javascript函数式编程-------概念基础部分(闭包)
闭包函数和其周围的状态的引用捆绑在一起就形成了闭包,简单理解就是 ,一个作用域可以访问另外一个函数内部的局部变量。可以在另一个作用域中(比如全局)调用这个函数内部的函数并访问到该函数作用域中的成员。演示语法首先我们定义一个makeFn的函数,在这个函数中定义一个变量msg,当这个函数调用之后,msg就会被释放掉。function makeFn () { let msg = 'Hello'; console.log(msg);};maknFn();如果我们在m原创 2021-05-23 01:03:41 · 119 阅读 · 0 评论 -
javascript函数式编程-------概念基础部分
为什么现在还要学函数式编程函数式编程不是用函数来编程,也不是传统的面向过程编程,主旨在于将复杂的函数复合成简单的函数,运算过程尽量写成一系列嵌套的函数调用。要注意区分用函数编程和函数式编程是不同的。函数式编程的思想是对运算过程进行抽象,也就是把运算过程抽象成函数,然后在任何地方都可以去重用这些函数。函数式编程随着react的流行越来越受到关注vue3也开始拥抱函数式编程(vue3对vue2做了很大的重构,而且越来越偏向函数式)函数式编程可以抛弃this打包过程中可以更好的利用tr原创 2021-05-22 21:43:42 · 114 阅读 · 0 评论