纯函数

作者: 笨鸟先飞不 | 来源:发表于2020-11-27 12:47 被阅读0次

纯函数概念

相同输入必然得到相同输出,且函数必定有参数和返回值。

let arr = [1,2,3,4,5,6];
console.log(arr.slice(0,3));  // [1,2,3]
console.log(arr.slice(0,3));  // [1,2,3]
console.log(arr.slice(0,3));  // [1,2,3]
//结论:slice函数为纯函数
let arr = [1, 2, 3, 4, 5, 6];
//splice: 第一参数为查找索引起始点,第二个参数为截取长度
console.log(arr.splice(0,3))  //[1,2,3]
console.log(arr.splice(0,3))  //[4,5]
console.log(arr.splice(0,3))  //[]
//结论:splice函数为不纯函数

纯函数的好处

-可缓存


lodash-memoize.png
自定义memoize.png

-可测试(如单元测试中,就是输入值预言得到输出结果,正符合纯函数必有输入输出的特性):纯函数让测试更方便
-并行处理

纯函数副作用

所有的外部交互都有可能带来副作用(如,使用全局变量,用户输入,数据库数据来源,配置文件等),但副作用不能完全禁止,尽可能控制在可控范围内使用即可。

相关文章

  • JS纯函数概念

    判断是否为纯函数的两个指标 纯函数和非纯函数的简单例子 1、纯函数 2、非纯函数 Redux中对使用纯函数redu...

  • 函数式编程(二)—— 纯函数

    目录 纯函数纯函数的概念Lodash——纯函数的代表体验Lodash纯函数的好处可缓存可测试并行处理副作用【函数式...

  • 4.0 C++远征:纯虚函数与抽象类

    3-1纯虚函数抽象类 [TOC] 一、纯虚函数 1.纯虚函数的定义 ​ 纯虚函数,没有函数体,同时定义时在函数...

  • 前端基础—带你理解什么是函数式编程

    框架总览 ? 引言 ? 什么是函数式编程? ? 函数是纯函数? 什么是纯函数? 函数的副作用? 使用纯函数的优点?...

  • 纯虚函数和抽象类

    纯虚函数和抽象类 概念 纯虚函数:没有函数体的虚函数。 抽象类:包含纯虚函数的类就称为抽象类。 纯虚函数就是在函数...

  • 纯函数

    Function VS Procedures 这里的纯函数指的是在函数式编程里面的纯函数。要理解好纯函数这个概念,...

  • 函数式编程(二)

    纯函数 函数式编程中的函数,指的就是纯函数,这也是整个函数式编程的核心纯函数:相同的输入永远会得到相同的输出,而且...

  • 纯函数

    纯函数概念 相同的输入总是返回相同的输出,函数式编程依赖于纯函数 lodash:纯函数功能库const _ = r...

  • Clojure学习笔记(三)——函数式编程

    函数式编程的理念 函数式编程使得代码的编写、阅读、测试和重用都更容易了。 纯函数 函数式程序构建于纯函数之上。纯函...

  • 什么是纯函数

    “纯函数”这个概念个人觉得适用与所有的语言。什么是纯函数,纯函数有两个重要的标准,违反任何一个都不是纯函数;1、函...

网友评论

      本文标题:纯函数

      本文链接:https://www.haomeiwen.com/subject/fecxwktx.html