缓存函数memorize
Posted Ambition
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存函数memorize相关的知识,希望对你有一定的参考价值。
1 function mulity(x){
2 return x*x;
3 }
4 function memorize(f){
5 var cache = {};
6 var key = arguments.length + Array.prototype.join.call(arguments,",");//参数长度和参数作为属性
7 if(key in cache)
8 return cache[key];
9 else
10 return cache[key] = f.apply(this,arguments);
11 };
12
13 function Test(){
14 var t = memorize(mulity);
15 var k =t(6);//第一次是直接算
16 var k2 =t(6);//第二次是调用缓存
17 alert(k2);
18 }
缓存函数是把计算的结果,存在函数中,当再次调用的时候就可以直接调用,这种方法就是用空间来换取时间
以上是关于缓存函数memorize的主要内容,如果未能解决你的问题,请参考以下文章
Android获取各个应用程序的缓存文件代码小片段(使用AIDL)
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题