虚拟DOM  与 js概念的理解


01.纯函数的理解:

02.柯里化函数

编写一个函数add(3)(4)(5)  得出结果  12    //通过柯里化  函数就可以实现

一个函数内,执行过程中,返回一个函数

真正明白闭包及柯里化函数

运行结果

”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8 </head>
 9 <body>
10
11
12     <script>
13     //柯里化函数就是闭包的运用
14     //闭包就是函数嵌套函数,内部函数可以访问到包裹它的局部变量
15     // ”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数。
16     function fn(a){
17         console.log(1,a)
18         // a=6;
19         return function(b){
20             console.log(2,a,b)
21             return function(c){   //这个是最内层的函数,它就可以访问到包裹它的函数变量和参数了
22                 console.log(3,a,b,c)
23
24                 return a+b+c  //把这个返回到函数外,   需要明白return是直接返回到函数外的。
25             }
26         }
27     }
28
29     console.log(fn(3)(4)(5))  //调用问题,fn(3)执行完毕之后就执行一个匿名函数,function(b){},当这个函数执行完毕之后又开始执行,function(c){}
30                                // 又因为闭包这个玩意就是,被包裹的函数可以反问包裹它的函数变量。因为变量没有被销毁。
31     </script>
32 </body>
33 </html>

 1 <!DOCTYPE html>
 2 <html lang="en">
 3
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>Document</title>
 9 </head>
10
11 <body>
12
13
14     <script>
15         //柯里化函数就是闭包的运用
16         //闭包就是函数嵌套函数,内部函数可以访问到包裹它的局部变量
17         // ”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数。
18         function fn(a) {
19             console.log(1, a)
20             // a=6;
21             return function (b) {
22                 console.log(2, a, b)
23                 return function (c) {   //这个是最内层的函数,它就可以访问到包裹它的函数变量和参数了
24                     console.log(3, a, b, c)
25
26                     return a + b + c  //把这个返回到函数外,   需要明白return是直接返回到函数外的。
27                 }
28             }
29         }
30
31         const fn1 = fn(3)  //
32         const fn2 = fn1(4)
33
34
35 console.log(fn2(5));  //这个是柯里化,讲多个参数的转为一个函执行的
36
37 console.log(fn(3)(4)(5))  //返柯里化  ,上面的fn2就执行执行了。
38
39         // console.log(fn(3)(4)(5))  //调用问题,fn(3)执行完毕之后就执行一个匿名函数,function(b){},当这个函数执行完毕之后又开始执行,function(c){}
40                                // 又因为闭包这个玩意就是,被包裹的函数可以反问包裹它的函数变量。因为变量没有被销毁。
41     </script>
42 </body>
43
44 </html>

ES6 箭头函数实现的柯里化

转载于:https://www.cnblogs.com/yuanjili666/p/11568128.html

【react】---函数化编程的理解,柯里化函数及返柯里化函数的理解...相关推荐

  1. DolphinDB 函数化编程案例教程

    DolphinDB支持函数化编程:函数对象可以作为高阶函数的参数.这提高了代码表达能力,可以简化代码,复杂的任务可以通过一行或几行代码完成. 本教程介绍了一些常见场景下的函数化编程案例,重点介绍 Do ...

  2. linux无锁化编程--__sync_fetch_and_add系列原子操作函数

    linux支持的哪些操作是具有原子特性的?知道这些东西是理解和设计无锁化编程算法的基础. 下面的东西整理自网络.先感谢大家的分享! __sync_fetch_and_add系列的命令,发现这个系列命令 ...

  3. go 函数名之前括号中的内容_2020 重学 Go 系列:09. 一篇文章理解 Go 里的函数

    1. 关于函数 函数是基于功能或 逻辑进行封装的可复用的代码结构.将一段功能复杂.很长的一段代码封装成多个代码片段(即函数),有助于提高代码可读性和可维护性. 在 Go 语言中,函数可以分为两种: 带 ...

  4. scala的函数化编程

    映射Map-构建Map 构造不可变映射 val map1=Map("Alice"->10,"Bob"->20,"Kotlin"- ...

  5. 如何在 SAP BTP ABAP 编程环境里直接调用 ABAP On-Premises 系统的 RFC 函数

    首先登录 ABAP On-Premises 系统,运行事物码:aco_proxy,为 RFC 函数 RFC_SYSTEM_INFO 和 RFC_READ_TABLE, 生成代理类元数据,格式为 xml ...

  6. vue函数如何调用其他函数?_编程|如何简单理解函数的传参、返回、调用

    1 函数内部变量的局部性 在一个函数中定义的变量(包括实参),其作用域仅限于定义它的函数中,在其它的函数不能使用,这种变量称为"局部变量". 局部变量的作用域:函数内部声明和定义的 ...

  7. 【React 基础】之 React 面向组件编程

    准备工作 使用 React 开发者工具调试 复习 类 相关知识 定义 class(类),代码如下: // 创建一个 Person 类 class Person {// 构造器方法constructor ...

  8. 第二章:React 面向组件编程

    第二章:React 面向组件编程 2.1. 基本理解和使用 2.1.1. 效果 2.1.2. 自定义组件(Component) : 定义组件(2 种方式) /* 方式 1: 工厂函数组件( 简单组件) ...

  9. b站React禹哥版视频笔记-React面向组件编程(上)

    目录 前言 一.开发者工具的安装 二.函数式组件 三.复习类相关知识 四.类式组件 五.组件实例的三大核心属性1:state 1.对state的理解 2.初始化state 3.react中的事件绑定 ...

最新文章

  1. BCH双花成功率极低——零确认交易安全性高达99.9%
  2. stm32f103zet6实现HTTP协议请求,UTF-8转码JSON打包上传
  3. 智能手机系统对进程生命周期的管理
  4. Java内联虚拟方法调用的性能
  5. LeetCode 2096. 从二叉树一个节点到另一个节点每一步的方向(最小公共祖先)
  6. android微信照片未发送成功,解决Android整合微信分享无法发送图片问题
  7. Python 命令的参数
  8. Flutter原理 flutter架构、flutter UI系统、BuildContext、Widget与Element、命中测试hitTest、flutter显示流程分析
  9. android studio进行增删改查代码_使用C#进行数据库增删改查(二)
  10. 18个国外优质图片素材
  11. 信源编码与信道编码区别(十一)
  12. 漫画:六九式是一道简单有趣的算法题(开车...)
  13. 使用gsds绘制基因结构图_[转载]基因结构图的绘制
  14. 稻盛和夫经典著作----《心》读后感
  15. 大数据十年:Cloudera向左,Palantir向右
  16. Java实现word文档转换为pdf,jodconverter
  17. OAuth2客户端springsecurity5 - 神经病的缥缈之旅
  18. 【云原生】阿里云服务器部署 Docker Swarm集群
  19. 春招进行时,当代大学生求职行为大赏
  20. 智慧农业建设方案思考

热门文章

  1. “21天好习惯”第一期-6
  2. 爬虫:查找自己浏览器headers
  3. 彩电主板更换后图像是矩型怎么处理_液晶彩电主板常见故障维修
  4. PAT (Basic Level) Practice1030 完美数列
  5. 【手把手教你全文检索】Lucene索引的【增、删、改、查】
  6. JDBC连接数据库经验技巧集萃
  7. 前端工程师做事的三重境界:我的进阶之路
  8. 《Python CookBook2》 第一章 文本 - 测试一个对象是否是类字符串 字符串对齐
  9. Android程序开发初级教程(一)
  10. Scanner--控制台输入