首页 > 编程语言 >函数式编程(纯函数、避免改变参数值和全局变量)、使用.map()、.filter()使代码更简洁

函数式编程(纯函数、避免改变参数值和全局变量)、使用.map()、.filter()使代码更简洁

时间:2022-10-01 11:22:42浏览次数:63  
标签:map fixedValue 函数 更改 编程 filter myFixedValue 全局变量

函数式编程是:
独立函数——不依赖于程序(里面含有可能更改的全局变量)的状态。
纯函数——相同的输入总是产生相同的输出,不产生副作用(不更改参数值和全局变量值)。
副作用尽量小的函数——对函数之外的程序状态的任何更改都要小心控制。

函数式编程的核心原则之一是不改变事物,更改会导致错误。如果知道函数不会更改任何内容(比如函数参数或全局变量),则可以更容易地防止bug。

下面的例子中,函数就做到了不改变全局变量的要求:

let fixedValue = 4;

function incrementer() {
  let myFixedValue=fixedValue;
  myFixedValue++;
  return myFixedValue;
}
console.log(incrementer());//5
console.log(fixedValue);//4

一些术语:

回调是被传递到另一个函数中以调用该函数的函数。
一级函数是可以赋值给变量、传递给另一个函数、像值一样从其他函数返回的函数,在JavaScript中,所有函数都是一级函数。
高阶函数是将函数作为参数或将函数作为返回值返回的函数。
当函数传入或从另一个函数返回时,传入或返回的那些函数可以称为lambda(即λ)。

。。。

。。。

标签:map,fixedValue,函数,更改,编程,filter,myFixedValue,全局变量
From: https://www.cnblogs.com/168-h/p/16746945.html

相关文章

  • JavaWeb-----进行事务处理的Filter
    详细资源:https://heavy_code_industry.gitee.io/code_heavy_industry/pro001-javaweb/lecture/详细博客:https://blog.csdn.net/jsdoulaoula/article/details/125648785?sp......
  • python引用另一个py文件中的类中函数
    1.获取gpu信息的文件gpu_info.pycatgpu_info.pyimportpynvml#获取GPU信息classGpuInfo(object):def__init__(self):#初始化pynvml......
  • css filter 的contrast和blur的奇妙组合- 使用场景
    圆角大杀器,使用滤镜构建圆角及波浪效果!Coco国服第一切图仔 16人赞同了该文章本文,将另辟蹊径,介绍一种使用滤镜去构建圆角的独特方式。首先,......
  • [Oracle] LeetCode 560 Subarray Sum Equals K 思维+Map
    Givenanarrayofintegersnumsandanintegerk,returnthetotalnumberofsubarrayswhosesumequalstok.Asubarrayisacontiguousnon-emptysequenceof......
  • Orchestrator中的hooks函数
    目录hooks分类hooks的执行Orchestrator中有很多hooks函数,用于调用外部服务做一些配置或者准备等工作。hooks分类Orchestrator中主要有以下这些hooks,按照其执行顺序依次......
  • static extern修饰变量与函数的理解
    头文件:扩大“全局”变量,“全局”函数,让作用域更广;全局变量:static变量,函数extern变量,函数 ......
  • element-plus使用h和render函数,实现Service弹出Dialog
    在element-plus中,Messagebox和Message都实现了全局方法。但是Dialog就没有实现。本着自己动手丰衣足食的原则。自己动手写一个。定义一个ModalService.ts文件import{h......
  • Apollo 中配置String、Map和List和默认值
    摘要:在Apollo中,配置String、Map和List等类型的信息,同时设置默认值。综述  随着业务需求的变更,需要在Apollo中配置一个Map<String,List>类型的变量用于标志客户信息,诸......
  • 用递归函数和栈操作逆序栈
    用递归函数和栈操作逆序栈作者:Grey原文地址:博客园:用递归函数和栈操作逆序栈CSDN:用递归函数和栈操作逆序栈题目描述请设计一个算法实现逆序栈的操作,但是只能用递归函......
  • 三角函数计算方法及快速查询表,做数控真是太有用了
    今天小编给大家整理了关于函数的计算方法,这应该对从事数控行业的你有所帮助,不会的赶紧学学吧。三角函数的关系(正弦)Sinθ=对边A/斜边C(余弦)Cosθ=邻边B/斜边C(......