博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js中值得推荐的Memoization
阅读量:5890 次
发布时间:2019-06-19

本文共 1226 字,大约阅读时间需要 4 分钟。

根据Widipedia的定义,Memoization是一种旨在加速计算程序,避免函数调用过程中对先前已处理输入的重复计算而采取的优化技巧。

In , memoization is an technique used primarily to speed up by having avoid repeating the calculation of results for previously processed inputs. (Wikepedia-Memoization:http://en.wikipedia.org/wiki/Memoization)

今天在看Pro JavaScript Design Patterns碰到很好的一例,是讲Factory模式的使用时讲到的(Page100)。目标是用Factory模式构建一个进行Ajax请求的XHR Object,函数名为createXhrObject,构建的具体细节要根据运行的环境而定。第一次代码运行时,将检测三种不同的创建XHR Object的方式,找到一种可用的方式时,就返回这一对象,同时将这一函数自身用可用的创建该对象的函数覆写。代码如下:

SimpleHandler=function(){}; SimpleHandler.prototype={
request:function(){...}, createXhrObject:function(){
var methods=[ function(){
return new XMLHttpRequest();}, function(){
return new ActiveXObject('Msxml2.XMLHTTP');}, function(){
return new ActiveXObject('Microsoft.XMLHTTP');} ]; for(var i=0, len=methods.length; i

附:更多的讲解Memoization的博文

http://hi.baidu.com/fengkuang031/blog/item/be89cc13a750a1cca6ef3f44.html

http://www.joy-studio.com/frontend-develop/javascript-branch-requirements-and-optimization.html#comment-24

转载于:https://www.cnblogs.com/pinocchioatbeijing/archive/2012/01/15/2323114.html

你可能感兴趣的文章
博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)
查看>>
联通高管频频出走:通信业已成鸡肋?
查看>>
关于多线程的那些事
查看>>
js 将json字符串转换为json对象的方法解析
查看>>
1. Two Sum
查看>>
让浏览器不再显示 https 页面中的 http 请求警报
查看>>
hdu4893Wow! Such Sequence! (线段树)
查看>>
Android 最简单的SD卡文件遍历程序
查看>>
JavaScript获取DOM元素位置和尺寸大小
查看>>
1065: 贝贝的加密工作
查看>>
lintcode 单词接龙II
查看>>
Material Design学习之 ProgreesBar
查看>>
WEB版一次选择多个文件进行批量上传(WebUploader)的解决方案
查看>>
Redis之 命令行 操作
查看>>
Jvm(46),指令集----对象创建与访问指令
查看>>
EL 表达式小结
查看>>
内部排序
查看>>
jQuery EasyUI API 中文文档 - 组合(Combo)
查看>>
10个关于 Dropbox 的另类功用(知乎问答精编)[还是转来了]
查看>>
Oracle体系结构
查看>>