博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 设计模式之代理模式
阅读量:7226 次
发布时间:2019-06-29

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

虚拟代理实现图片预加载

// 虚拟代理实现图片预加载      let myImage = (function(){        let imgNode = document.createElement('img');        document.body.appendChild(imgNode);        return {          setSrc: function (src) {            imgNode.src = src          }        }      })()      let proxyImage = (function(){        let img = new Image;        img.onload = function(){          myImage.setSrc (this.src)        }        return {          setSrc: function(src){            myImage.setSrc('file:///E:/手里上整理出来的照片/网上收集的照片/山川河流.jpg');            img.src = src          }        }      })()      proxyImage.setSrc('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1560840791&di=976399fb61f71f4597347ca330dcf84a&imgtype=jpg&er=1&src=http%3A%2F%2Ffile.elecfans.com%2Fweb1%2FM00%2F81%2FF7%2Fo4YBAFw9O2aAIU4lAAKUIw4770I426.png')      复制代码

虚拟代理合并 HTTP 请求

1         2        3         4        6         7        8         9       复制代码

缓存代理

let mult = function(){          console.log('开始计算乘积');          var a = 1;          for(var i = 0, l = arguments.length; i < l; i++){              a = a * arguments[i]          }          return a;      };      let proxyMult = (function(){          let cache = {};          return function(){              let 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复制代码

该资料来源曾探著的《设计模式与开发实践》

转载于:https://juejin.im/post/5cff5225e51d455a2f220239

你可能感兴趣的文章
iOS 开发知识索引
查看>>
Linux iptables命令
查看>>
webpack的使用
查看>>
干货 | 基于Go SDK操作京东云对象存储OSS的入门指南
查看>>
D3.js入门
查看>>
一次和前端的相互甩锅的问题记录
查看>>
纯OC实现iOS DLNA投屏功能了解一下
查看>>
RxJava -- fromArray 和 Just 以及 interval
查看>>
LC #75 JS
查看>>
js正则验证代码库
查看>>
常见面试题—css实现垂直水平居中
查看>>
lc682. Baseball Game
查看>>
重学前端-css选择器
查看>>
iOS开发之扫描二维码
查看>>
Android黑科技: 快速找到view所在的xml文件
查看>>
linux分区方案
查看>>
003-Java技术体系
查看>>
超轻量模板引擎
查看>>
JavaScript 复习之 Object对象的相关方法
查看>>
JAVA之流程控制语句
查看>>