欢迎光临
我们一直在努力

JavaScript纯函数是什么

这篇文章主要介绍了JavaScript纯函数是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

纯函数

纯函数是指不依赖于且不改变它作用域之外的变量状态的函数。
纯函数的返回值只由它调用时的参数决定,它的执行不依赖于系统的状态(执行上下文)。
相同的输入参数,一定会得到相同的输出,也就是内部不含有会影响输出的随机变量。

不属于纯函数的特点:

  • 更改文件系统

  • 往数据库插入记录

  • 发送一个 http 请求

  • 可变数据

  • 打印/log

  • 获取用户输入

  • DOM 查询

  • 访问系统状态

纯函数的作用:

  • 可靠性:函数返回永远和预期一致

  • 可缓存性:因为只要输入一样输出一定一样,因此可将输入作为key,输出作为值,使用对象缓存已经计算的结果

  • 可移植性:因为没有外部依赖,所以移植到任何环境都可正确运行

  • 可测试性:方便针对函数做单元测试

  • 可并行性:对一些复杂计算,可以并行计算(例如使用nodejs多个子进程同时并行计算多个任务,提高计算速度)

应用场景:

  • 工具函数最好使用纯函数

  • 多平台使用的代码(nodejs、浏览器、微信小程序、native客户端等)

  • 相对独立的功能

var a = 1;
// 非纯函数
function sum(b) {
 return a + b;
}
// 非纯函数
function sum(b) {
 a = 2;
 return b;
}
// 非纯函数
function sum(b) {
 return b + Math.random();
}

// 纯函数
function sum (b, c) {
 return b + c;
}

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript纯函数是什么”这篇文章对大家有帮助,同时也希望大家多多支持云搜网,关注云搜网行业资讯频道,更多相关知识等着你来学习!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。