这篇文章主要介绍了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纯函数是什么”这篇文章对大家有帮助,同时也希望大家多多支持云搜网,关注云搜网行业资讯频道,更多相关知识等着你来学习!