JavaScript设计模式之缓存代理模式原理与简单用法示例
程序员文章站
2022-04-04 14:54:20
本文实例讲述了javascript设计模式之缓存代理模式原理与简单用法。分享给大家供大家参考,具体如下:
一、原理:
缓存代理可以为一些开销大的运算结果提供暂时的存储,...
本文实例讲述了javascript设计模式之缓存代理模式原理与简单用法。分享给大家供大家参考,具体如下:
一、原理:
缓存代理可以为一些开销大的运算结果提供暂时的存储,在下次运算时,如果传递进来的参数跟之前的一致,则可以直接返回前面存储的运算结果,提供效率以及节省开销。
二、实例:
var mult = function(){ console.log('开始计算乘机'); var a = 1; for(var i = 0, l = arguments.length;i < l;i++){ a = a*arguments[i]; } return a; }; var proxymult = (function(){ var cache = {}; return function(){ var args = array.prototype.join.call( arguments, ','); if(args in cache){ return cache[args]; //直接返回 } return cache[args] = mult.apply( this, arguments); } })(); proxymult( 1,2,3,4); //输出:24 proxymult( 1,2,3,4); //输出:24
三、解析:
通过缓存代理模式,可将决定权交给代理函数对象proxymult,而mult函数可以专注于自身的职责。
更多关于javascript相关内容可查看本站专题:《javascript面向对象入门教程》、《javascript切换特效与技巧总结》、《javascript查找算法技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。
上一篇: JavaScript设计模式之模板方法模式原理与用法示例
下一篇: 已经不是老鼠