纯函数-Javascript

什么是纯函数?

纯函数,一个通常出现在函数式编程中的概念

纯函数特点:

  1. 纯函数结果只依赖于参数,与函数外部变量无关。

  2. 纯函数不会产生任何可观察的副作用

例子:

function sum (b, c) {
    return b + c;
}
// 不影响外部的变量也与外部的变量无关!


// 不是纯函数
let a = 10; // 影响了外部的变量
function sum(b){
    return a + b;
}
console.log(sum(1));// 11

 不能引起副作用,包括:

  • 不能发起HTTP请求
  • 不能操作DOM
  • 不能修改外部数据
  • 不能console.log()打印数据
  • 不能调用Date.now()或者Math.random()

纯函数的优点:

  1. 有利于程序测试;

    纯函数结果只依赖于参数,测试时可以确保输出稳定。

  2.减少模块耦合;

    不用担心纯函数会影响其他函数或变量,方便替换和重构。

引用场景:

  • 工具函数最好使用纯函数
  • 多平台使用的代码(nodejs、浏览器、微信小程序、native客户端等)
  • 相对独立的功能

 

posted @ 2021-04-12 17:36  迷茫_D  阅读(155)  评论(0编辑  收藏  举报