当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Underscore.js _.memoize()用法及代码示例


_.memoize()函数用于通过缓存该函数计算的结果来存储给定函数。它用于加快运行缓慢的进程。

用法:

_.memoize(function, [hashFunction])

参数:此函数接受上述和以下描述的两个参数:

  • function:需要执行的函数。
  • hashFunction:它是一个可选参数。 hashFunction用于计算用于存储结果的哈希键。

返回值:它返回被调用函数的结果。

下面的示例说明Underscore.js中的_.memoize函数:示例1:



<!DOCTYPE html> 
<html> 
  
<head> 
    <script type="text/javascript" src= 
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> 
    </script> 
</head> 
  
<body> 
    <script type="text/javascript"> 
  
        var fib = _.memoize(function (n) { 
            return n < 2 ? n:fib(n - 1) + fib(n - 2); 
        }); 
  
        console.log(fib(15)); 
    </script> 
</body> 
  
</html>

输出:

范例2:

<!DOCTYPE html> 
<html> 
  
<head> 
    <script type="text/javascript" src= 
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> 
    </script> 
</head> 
  
<body> 
    <script type="text/javascript"> 
  
        var sum = _.memoize(function (n) { 
            return n < 1 ? n:n + sum(n - 1); 
        }); 
  
        console.log('Sum of first 10 natural number:' + sum(10)); 
    </script> 
</body> 
  
</html>

输出:




相关用法


注:本文由纯净天空筛选整理自AshokJaiswal大神的英文原创作品 Underscore.js | _.memoize() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。