underscore.js function memoize 方法——迹忆客-ag捕鱼王app官网

返回 underscore.js 函数


语法

_.memoize(function, [hashfunction])

memoizes() 方法可以缓存某函数的计算结果。对于耗时较长的计算是很有帮助的。如果传递了 hashfunction 参数,就用 hashfunction 的返回值作为 key 存储函数的计算结果。hashfunction 默认使用 function 的第一个参数作为 key。memoized 值的缓存可作为返回函数的 cache 属性。

示例

var _ = require('underscore');
var fibonacci = _.memoize(function(n) {
  return n < 2 ? n: fibonacci(n - 1)   fibonacci(n - 2);
});
var fibonacci1 = function(n) {
  return n < 2 ? n: fibonacci1(n - 1)   fibonacci1(n - 2);
};
var starttimestamp = new date().gettime();
var result = fibonacci(1000);
var endtimestamp = new date().gettime();
console.log(result   " in "   ((endtimestamp - starttimestamp))   ' ms');
starttimestamp = new date().gettime();
result = fibonacci1(30);
endtimestamp = new date().gettime();
console.log(result   " in "   ((endtimestamp - starttimestamp))   ' ms');

上面示例运行结果如下

underscore.js  function memoizes 方法运行结果


返回 underscore.js 函数

查看笔记

扫码一下
查看教程更方便
网站地图