记忆函数功能

Posted 腾格里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记忆函数功能相关的知识,希望对你有一定的参考价值。

使用JS记忆函数功能,能够有效提供代码的性能。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>记忆函数</title>
 6 </head>
 7 <body>
 8 
 9 </body>
10 </html>
11 <script>
12     /**
13      * 记忆函数
14      * */
15     function memoize(fn){
16         return function(){
17             var propertyName;
18             fn.storage = fn.storage || {};
19 
20             propertyName = Array.prototype.join.call(arguments,"|");
21 
22             if(propertyName in fn.storage){
23                 return fn.storage[propertyName];
24             }else{
25                 fn.storage[propertyName] = fn.apply(this,arguments);
26                 return fn.storage[propertyName];
27             }
28         }
29     }
30 
31     /**
32      * 计算阶乘的函数
33      * @param num
34      * @returns {number}
35      */
36     function getFactorial(num){
37         var result = 1,
38             index = 1;
39         for(;index <=num;index++){
40             result *= index;
41         }
42         return result;
43     }
44 
45     var calcFn = memoize(getFactorial);
46     debugger;
47     calcFn(5);
48     calcFn(5);
49 
50 </script>

 

以上是关于记忆函数功能的主要内容,如果未能解决你的问题,请参考以下文章

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

我想知道C++中怎么区分各种各种函数,有效记忆的,我现在学数据结构那里边各种函数看着头疼。谢谢。

让你的javascript函数拥有记忆功能,降低全局变量的使用

21个常用代码片段

我如何使用视图模型从另一个片段访问函数

运行/调试你的PHP代码