丁鹿学堂:js函数式编程小结(一)

41 阅读1分钟
保证纯函数

一个函数的返回值只依赖于它的参数,输入同样的参数必然返回同样的结果 非纯函数:

let num = 10
function add(num2){
  return num + num2
}

纯函数:

function add2(num1,num2){
  return num1 + num2
}
减少函数副作用

函数的副作用就是函数运行以后对外部产生的影响。比如改变外部的全局变量。

解决: 如果要通过函数去改变外部的全局变量,通常可以把这个变量作为 参数。 如果是引用类型的变量,可以在函数内部进行拷贝以后再修改,最后return出去。

函数式编程的模块化使用

在模块化开发中使用函数式编程,主要考虑两种情况,一个是es6的模块化规范,一个是commonJS的模块化规范

es6的模块化规范:

export function fn1(){

}
export function fn2(){

}
import {fn1,fn2} from './xxx.js'

commonJS模块化规范:

function fn3(){

}
function fn4(){

}
exports.fn3 = fn3
exports.fn4 = fn4
let fnAll = require('./xxx.js')