纯函数:一个函数的返回结果只依赖于它的参数, 输入参数一致返回的结果一样,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数
大佬教的纯函数优化 (记录下 好记性不如烂笔头)
function getSum(a,b,c){
console.log(a,b,c)
return a+b+c
}
image.png
输入同样的参数 每次都要重新执行函数 如何优化?设置缓存 如果缓存里有直接取缓存的结果 反之执行getSum()函数
function test(fn){
let obj = {}
return function(...args){
let key = JSON.stringify(args)
//console.log(key, obj[key])
if(obj[key]){
return obj[key]
}else{
obj[key]=fn(...args)
return obj[key]
}
}
}
let gxj=test(getSum)
gxt(1,2,3)
gxt(1,2,3)
这时候getSum函数只调用了一次 第二次调用的时候是从缓存里读取的
网友评论