保证纯函数
一个函数的返回值只依赖于它的参数,输入同样的参数必然返回同样的结果 非纯函数:
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')