如何写好函数式编程


保证纯函数
一个函数的返回结果只依赖于他的参数,同样的输入必定有同样的输出
减少函数副作用
函数副作用就是函数,会影响外部的数据,如果全局变量

//非纯函数
var a=10;

function add(num){
return num+a;
}
 
add(3)

//纯函数
var a=10;

function add(a,num){
return num+a;
}
a=5;
add(a,3)

//副作用
var a=10;
function aplus(){
     a+=1;
     return a;
}

//取消副作用
var a=10

function aplus(a){
    a+=1;
    return a;
}

//对象消除副作用
var obj={
    a:123
}

function objPlus(obj){
    var _obj=obj.create(obj);
    _obj.a+=1;
    return _obj;
}

//数组消除副作用
var arr=[1,2,3,4,5,6];
function arrPlus(arr){
   var _arr=[...arr];
   _arr[0]+=1;
   return _arr;
}

工程化下的函数式编程

//ES6
export function f1(){
}
export function f2(){
}

import {f1} from "./code.js"
import * as all from "./code.js"

all.f2();


//commonjs
 function f1(){
}
 function f2(){
}

exports.f1=f1;
exports.f2=f2;


const all=require("./code.js");

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/275295.html

(0)
上一篇 2022年7月19日
下一篇 2022年7月19日

相关推荐

发表回复

登录后才能评论