明星有经纪人作为代理,可以理解为代理模式。JS 也一样,用另外一个对象的方法协助当前对象处理一些事情,也是代理。
代理模式的关键
代理模式的关键在于,当客户不方便直接访问一个对象或者不满足需要的时候,提供另外一个对象来控制对这个对象的操作,客户实际上操作的是这个替身对象。替身对象对请求作出处理之后,将消息转给本体对象。
图片预加载的代码
图片预加载是这样的,如果直接给某个img标签设置src,当图片过大,或者网络不畅的时候,界面会出现一段时间的空白。通常是用一张菊花图占位,等图片加载完整后再设置图片的src。
直接设置src代码如下:
let testImg = {
let Node = document.createElement('img'); document.body.appendChild(Node); return {
setImg:function(src){
Node.src = src; } }}var avatar = testImg();avatar.setImg('avatar.png');
菊花图占位代码如下:
let testImg = {
let Node = document.createElement('